Changeset

5408:3989c57cc551

mod_http_oauth2: Allow configuring links to policy and terms in metadata These are for the Authorization Server, here the same as the XMPP server.
author Kim Alvefur <zash@zash.se>
date Tue, 02 May 2023 17:01:02 +0200
parents 5407:149634647b48
children 5409:993f28798c75
files mod_http_oauth2/README.markdown mod_http_oauth2/mod_http_oauth2.lua
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mod_http_oauth2/README.markdown	Tue May 02 16:39:32 2023 +0200
+++ b/mod_http_oauth2/README.markdown	Tue May 02 17:01:02 2023 +0200
@@ -138,6 +138,16 @@
 }
 ```
 
+### Policy documents
+
+Links to Terms of Service and Service Policy documents can be advertised
+for use by OAuth clients:
+
+```lua
+oauth2_terms_url = "https://example.com/terms-of-service.html"
+oauth2_policy_url = "https://example.com/service-policy.pdf"
+```
+
 ## Deployment notes
 
 ### Access management
--- a/mod_http_oauth2/mod_http_oauth2.lua	Tue May 02 16:39:32 2023 +0200
+++ b/mod_http_oauth2/mod_http_oauth2.lua	Tue May 02 17:01:02 2023 +0200
@@ -980,6 +980,8 @@
 				scopes_supported = usermanager.get_all_roles and array(it.keys(usermanager.get_all_roles(module.host))):append(array(openid_claims:items()));
 				response_types_supported = array(it.keys(response_type_handlers));
 				token_endpoint_auth_methods_supported = array({ "client_secret_post"; "client_secret_basic" });
+				op_policy_uri = module:get_option_string("oauth2_policy_url", nil);
+				op_tos_uri = module:get_option_string("oauth2_terms_url", nil);
 				revocation_endpoint = handle_revocation_request and module:http_url() .. "/revoke" or nil;
 				revocation_endpoint_auth_methods_supported = array({ "client_secret_basic" });
 				code_challenge_methods_supported = array(it.keys(verifier_transforms));