Correct documentation for map_user_attributes of OpenID Mapping Providers (#13836)

Co-authored-by: David Robertson <davidr@element.io>
This commit is contained in:
Peter Scheu 2022-09-21 15:08:16 +02:00 committed by GitHub
parent e0804ef898
commit 16e1a9d9a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 3 deletions

1
changelog.d/13836.doc Normal file
View file

@ -0,0 +1 @@
Fix a mistake in sso_mapping_providers.md: `map_user_attributes` is expected to return `display_name` not `displayname`.

View file

@ -73,8 +73,8 @@ A custom mapping provider must specify the following methods:
* `async def map_user_attributes(self, userinfo, token, failures)` * `async def map_user_attributes(self, userinfo, token, failures)`
- This method must be async. - This method must be async.
- Arguments: - Arguments:
- `userinfo` - A `authlib.oidc.core.claims.UserInfo` object to extract user - `userinfo` - An [`authlib.oidc.core.claims.UserInfo`](https://docs.authlib.org/en/latest/specs/oidc.html#authlib.oidc.core.UserInfo)
information from. object to extract user information from.
- `token` - A dictionary which includes information necessary to make - `token` - A dictionary which includes information necessary to make
further requests to the OpenID provider. further requests to the OpenID provider.
- `failures` - An `int` that represents the amount of times the returned - `failures` - An `int` that represents the amount of times the returned
@ -91,7 +91,13 @@ A custom mapping provider must specify the following methods:
`None`, the user is prompted to pick their own username. This is only used `None`, the user is prompted to pick their own username. This is only used
during a user's first login. Once a localpart has been associated with a during a user's first login. Once a localpart has been associated with a
remote user ID (see `get_remote_user_id`) it cannot be updated. remote user ID (see `get_remote_user_id`) it cannot be updated.
- `displayname`: An optional string, the display name for the user. - `confirm_localpart`: A boolean. If set to `True`, when a `localpart`
string is returned from this method, Synapse will prompt the user to
either accept this localpart or pick their own username. Otherwise this
option has no effect. If omitted, defaults to `False`.
- `display_name`: An optional string, the display name for the user.
- `emails`: A list of strings, the email address(es) to associate with
this user. If omitted, defaults to an empty list.
* `async def get_extra_attributes(self, userinfo, token)` * `async def get_extra_attributes(self, userinfo, token)`
- This method must be async. - This method must be async.
- Arguments: - Arguments:

View file

@ -128,6 +128,9 @@ class SsoIdentityProvider(Protocol):
@attr.s(auto_attribs=True) @attr.s(auto_attribs=True)
class UserAttributes: class UserAttributes:
# NB: This struct is documented in docs/sso_mapping_providers.md so that users can
# populate it with data from their own mapping providers.
# the localpart of the mxid that the mapper has assigned to the user. # the localpart of the mxid that the mapper has assigned to the user.
# if `None`, the mapper has not picked a userid, and the user should be prompted to # if `None`, the mapper has not picked a userid, and the user should be prompted to
# enter one. # enter one.