diff --git a/proposals/2858-Multiple-SSO-Identity-Providers.md b/proposals/2858-Multiple-SSO-Identity-Providers.md index e95f7989..f7dad705 100644 --- a/proposals/2858-Multiple-SSO-Identity-Providers.md +++ b/proposals/2858-Multiple-SSO-Identity-Providers.md @@ -54,12 +54,20 @@ flows whose type `m.login.sso`. This would look like this: The value of the `identity_providers` property is a list, each entry consisting of an object with the following fields: - * The `id` field is **required**. It should be a string using the common - identifier grammar as defined in - https://github.com/matrix-org/matrix-doc/pull/2758. - - * The `name` field is **required**. It should be the human readable string - intended for printing by the client. + * The `id` field is **required**. It is an opaque string chosen by the + homeserver implementation, and uniquely identifies the identity provider on + that server. Clients should not infer any semantic meaning from the + identifier. The identifier should be between 1 and 255 characters in length, + and should consist of the characters matching unreserved URI characters as + defined in [RFC3986](http://www.ietf.org/rfc/rfc3986.txt): + + ``` + ALPHA DIGIT "-" / "." / "_" / "~" + ``` + + * The `name` field is **required**. It should be a human readable string + intended for printing by the client. No explicit length limit or grammar is + specified. * The `icon` field is **optional**. It should point to an icon representing the IdP. If present then it must be an MXC URI to an image resource.