-
Notifications
You must be signed in to change notification settings - Fork 389
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.
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
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.
Overall this MSC looks ready to go, though there's some existing comments which should be addressed/incorporated before FCP is proposed.
|
||
| Scope | Purpose | Implementation notes | | ||
| - | - | - | | ||
| `urn:matrix:client:api:*` | Grants full access to the Client-Server API | The OP can issue a refresh token for grants with this scope. | |
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.
| `urn:matrix:client:api:*` | Grants full access to the Client-Server API | The OP can issue a refresh token for grants with this scope. | | |
| `urn:matrix:client:api:*` | Grants full access to the Client-Server API | The homeserver can issue a refresh token for grants with this scope. | |
MSCs proposed for Final Comment Period (FCP) should meet the requirements outlined in the checklist prior to being accepted into the spec. This checklist is a bit long, but aims to reduce the number of follow-on MSCs after a feature lands. SCT members: please check off things you check for, and raise a concern against FCP if the checklist is incomplete. If an item doesn't apply, prefer to check it rather than remove it. Unchecking items is encouraged where applicable. Checklist:
|
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
SCT stuff:
checklist