summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/9361.bugfix1
-rw-r--r--docs/openid.md22
-rw-r--r--synapse/appservice/api.py3
3 files changed, 23 insertions, 3 deletions
diff --git a/changelog.d/9361.bugfix b/changelog.d/9361.bugfix
new file mode 100644

index 0000000000..4d0477f033 --- /dev/null +++ b/changelog.d/9361.bugfix
@@ -0,0 +1 @@ +Fix a bug causing Synapse to impose the wrong type constraints on fields when processing responses from appservices to `/_matrix/app/v1/thirdparty/user/{protocol}`. diff --git a/docs/openid.md b/docs/openid.md
index 9d19368845..0be79591b1 100644 --- a/docs/openid.md +++ b/docs/openid.md
@@ -388,3 +388,25 @@ oidc_providers: localpart_template: "{{ user.login }}" display_name_template: "{{ user.full_name }}" ``` + +### XWiki + +Install [OpenID Connect Provider](https://extensions.xwiki.org/xwiki/bin/view/Extension/OpenID%20Connect/OpenID%20Connect%20Provider/) extension in your [XWiki](https://www.xwiki.org) instance. + +Synapse config: + +```yaml +oidc_providers: + - idp_id: xwiki + idp_name: "XWiki" + issuer: "https://myxwikihost/xwiki/oidc/" + client_id: "your-client-id" # TO BE FILLED + # Needed until https://github.com/matrix-org/synapse/issues/9212 is fixed + client_secret: "dontcare" + scopes: ["openid", "profile"] + user_profile_method: "userinfo_endpoint" + user_mapping_provider: + config: + localpart_template: "{{ user.preferred_username }}" + display_name_template: "{{ user.name }}" +``` diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index 5dcd9ea290..2ac1e13631 100644 --- a/synapse/appservice/api.py +++ b/synapse/appservice/api.py
@@ -76,9 +76,6 @@ def _is_valid_3pe_result(r, field): fields = r["fields"] if not isinstance(fields, dict): return False - for k in fields.keys(): - if not isinstance(fields[k], str): - return False return True