Mercurial > prosody-modules
comparison mod_http_oauth2/mod_http_oauth2.lua @ 5203:c60cff787d6a
mod_http_oauth2: Return actually enabled response types in discovery
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 04 Mar 2023 21:24:35 +0100 |
| parents | b81fd0d22c66 |
| children | eb8b3a068ecc |
comparison
equal
deleted
inserted
replaced
| 5202:b81fd0d22c66 | 5203:c60cff787d6a |
|---|---|
| 9 local uuid = require "util.uuid"; | 9 local uuid = require "util.uuid"; |
| 10 local encodings = require "util.encodings"; | 10 local encodings = require "util.encodings"; |
| 11 local base64 = encodings.base64; | 11 local base64 = encodings.base64; |
| 12 local schema = require "util.jsonschema"; | 12 local schema = require "util.jsonschema"; |
| 13 local jwt = require"util.jwt"; | 13 local jwt = require"util.jwt"; |
| 14 local it = require "util.iterators"; | |
| 15 local array = require "util.array"; | |
| 14 | 16 |
| 15 local tokens = module:depends("tokenauth"); | 17 local tokens = module:depends("tokenauth"); |
| 16 | 18 |
| 17 -- Used to derive client_secret from client_id, set to enable stateless dynamic registration. | 19 -- Used to derive client_secret from client_id, set to enable stateless dynamic registration. |
| 18 local registration_key = module:get_option_string("oauth2_registration_key"); | 20 local registration_key = module:get_option_string("oauth2_registration_key"); |
| 475 authorization_endpoint = handle_authorization_request and module:http_url() .. "/authorize" or nil; | 477 authorization_endpoint = handle_authorization_request and module:http_url() .. "/authorize" or nil; |
| 476 token_endpoint = handle_token_grant and module:http_url() .. "/token" or nil; | 478 token_endpoint = handle_token_grant and module:http_url() .. "/token" or nil; |
| 477 jwks_uri = nil; -- TODO? | 479 jwks_uri = nil; -- TODO? |
| 478 registration_endpoint = handle_register_request and module:http_url() .. "/register" or nil; | 480 registration_endpoint = handle_register_request and module:http_url() .. "/register" or nil; |
| 479 scopes_supported = { "prosody:restricted"; "prosody:user"; "prosody:admin"; "prosody:operator" }; | 481 scopes_supported = { "prosody:restricted"; "prosody:user"; "prosody:admin"; "prosody:operator" }; |
| 480 response_types_supported = { "code"; "token" }; -- TODO derive from active config | 482 response_types_supported = array(it.keys(response_type_handlers)); |
| 481 authorization_response_iss_parameter_supported = true; | 483 authorization_response_iss_parameter_supported = true; |
| 482 }; | 484 }; |
| 483 }; | 485 }; |
| 484 }; | 486 }; |
| 485 }); | 487 }); |
