-
Notifications
You must be signed in to change notification settings - Fork 379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSC2967: API scopes #2967
base: main
Are you sure you want to change the base?
MSC2967: API scopes #2967
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't use the word sudo
as we do not have a concept of superusers or substitute users in Matrix.
|
||
#### Device ID handling | ||
|
||
Presently a device ID is typically generated by the homeserver and is associated with a specific access token. In OAuth 2.0 there is no such thing as a session and so a mapping cannot be handled using the same mechanism. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still true after refresh tokens (MSC2918)? I thought we did a bunch of work in Synapse related to this recently, but maybe I'm confusing different types of tokens.
proposals/2967-api-scopes.md
Outdated
|
||
The Device ID handling involves a change in where device IDs are generated. This is discussed in MSC2964. On the OIDC Provider side the device ID proposal requires the use of dynamic scopes. That is, the specific scope is a templated form rather than being static. This is not currently supported by some OpenID Providers (e.g. Okta and Auth0). | ||
|
||
The addition of the `WWW-Authenticate` header could cause issue with some clients. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The header itself or attempting to parse it? We could also provider a matching errcode
if that's useful?
Co-authored-by: Patrick Cloke <[email protected]>
|
||
#### Device ID handling | ||
|
||
Presently a device ID is typically generated by the homeserver and is associated with a specific access token. In OAuth 2.0 there is no such thing as a session and so a mapping cannot be handled using the same mechanism. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In OAuth 2.0 there is no such thing as a session and so a mapping cannot be handled using the same mechanism.
In OIDC they define a sid
(Session ID) claim within the id_token
in the Front-Channel Logout spec (also referenced in other specs)
I would also like to mention that since clients are expected to use dynamic registration, client_id
s resemble device IDs quite a bit
- Remove insufficient privilege response - Remove guest scopes - Reword some parts
Rendered
urn:matrix
namespaceDependencies:
Implementations:
Homeservers
Homeservers:
urn:matrix:client:api:*
urn:matrix:client:device:XXXX
Clients
Clients need to request scopes appropriately.
urn:matrix:client:api:*
urn:matrix:client:device:XXXX
urn:matrix:client:api:*
urn:matrix:client:device:XXXX
urn:matrix:client:api:*
urn:matrix:client:device:XXXX
urn:matrix:client:api:*
urn:matrix:client:device:XXXX