diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2021-03-16 11:21:26 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-16 11:21:26 +0000 |
commit | dd69110d9588b5fc8cca10cba9509d80f88b84f4 (patch) | |
tree | d425c7b5b9b781ca57bfaf4c987e3e01e061897e /synapse/config/oidc_config.py | |
parent | Clean up config settings for stats (#9604) (diff) | |
download | synapse-dd69110d9588b5fc8cca10cba9509d80f88b84f4.tar.xz |
Add support for stable MSC2858 API (#9617)
The stable format uses different brand identifiers, so we need to support two identifiers for each IdP.
Diffstat (limited to 'synapse/config/oidc_config.py')
-rw-r--r-- | synapse/config/oidc_config.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/synapse/config/oidc_config.py b/synapse/config/oidc_config.py index 7f5e449eb2..2bfb537c15 100644 --- a/synapse/config/oidc_config.py +++ b/synapse/config/oidc_config.py @@ -237,7 +237,7 @@ class OIDCConfig(Config): # #- idp_id: github # idp_name: Github - # idp_brand: org.matrix.github + # idp_brand: github # discover: false # issuer: "https://github.com/" # client_id: "your-client-id" # TO BE FILLED @@ -272,7 +272,12 @@ OIDC_PROVIDER_CONFIG_SCHEMA = { "idp_icon": {"type": "string"}, "idp_brand": { "type": "string", - # MSC2758-style namespaced identifier + "minLength": 1, + "maxLength": 255, + "pattern": "^[a-z][a-z0-9_.-]*$", + }, + "idp_unstable_brand": { + "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^[a-z][a-z0-9_.-]*$", @@ -466,6 +471,7 @@ def _parse_oidc_config_dict( idp_name=oidc_config.get("idp_name", "OIDC"), idp_icon=idp_icon, idp_brand=oidc_config.get("idp_brand"), + unstable_idp_brand=oidc_config.get("unstable_idp_brand"), discover=oidc_config.get("discover", True), issuer=oidc_config["issuer"], client_id=oidc_config["client_id"], @@ -512,6 +518,9 @@ class OidcProviderConfig: # Optional brand identifier for this IdP. idp_brand = attr.ib(type=Optional[str]) + # Optional brand identifier for the unstable API (see MSC2858). + unstable_idp_brand = attr.ib(type=Optional[str]) + # whether the OIDC discovery mechanism is used to discover endpoints discover = attr.ib(type=bool) |