Compare commits

...

7 commits

Author SHA1 Message Date
Kévin Commaille 978e91b600
Merge 70d2005743 into 690c41e33b 2025-12-30 14:51:14 -05:00
Kim Brose 690c41e33b
Remove unintended TeX formatting (#2283)
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
2025-12-30 19:24:38 +00:00
Kim Brose d55acfda2e
Update non-historic mentions of matrix-doc repo to matrix-spec(-proposals) (#2280) 2025-12-30 19:20:39 +00:00
Kévin Commaille 70d2005743
Bump Matrix version
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-12-19 10:37:39 +01:00
Kévin Commaille 293012d12f
Fix field name
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-12-17 12:12:44 +01:00
Kévin Commaille 80c6ffd1d8
Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-12-16 20:42:27 +01:00
Kévin Commaille 8350b88a3d
Spec Account management for OAuth 2.0 API
As per MSC4191.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-12-16 20:39:06 +01:00
11 changed files with 86 additions and 7 deletions

View file

@ -0,0 +1 @@
Add the account management capabilities for the OAuth 2.0 authentication API, as per [MSC4191](https://github.com/matrix-org/matrix-spec-proposals/pull/4191).

View file

@ -0,0 +1 @@
Update non-historic mentions of matrix-doc repo to matrix-spec/-proposals. Contributed by @HarHarLinks.

View file

@ -0,0 +1 @@
Remove unintended TeX formatting. Contributed by @HarHarLinks.

View file

@ -645,7 +645,7 @@ manage their account like [changing their password](#password-management),
[deactivating their account](#account-deactivation). [deactivating their account](#account-deactivation).
With the OAuth 2.0 API, all account management is done via the homeserver's web With the OAuth 2.0 API, all account management is done via the homeserver's web
UI. UI that can be accessed by users via the [account management URL](#oauth-20-account-management).
### Legacy API ### Legacy API
@ -2271,6 +2271,56 @@ The server SHOULD return one of the following responses:
- For other errors, the server returns a `400 Bad Request` response with error - For other errors, the server returns a `400 Bad Request` response with error
details details
#### Account management {id="oauth-20-account-management"}
{{% added-in v="1.18" %}}
All account management is done via the homeservers web UI as all endpoints that
require User-Interactive Authentication are unsupported by this authentication
API.
This specification defines extensions to the [OAuth Authorization Server
Metadata registry](https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#authorization-server-metadata)
to offer clients a way to deep-link to the account management capabilities of
the homeserver to allow the user to complete the account management operations
in a browser.
##### Account management URL discovery
The [OAuth 2.0 authorization server metadata](#server-metadata-discovery) is
extended to include the following fields:
| Field | Description |
|----------------------------------------|-------------------------------------------------------------------------------------------------|
| `account_management_uri` | The URL where the user is able to access the account management capabilities of the homeserver. |
| `account_management_actions_supported` | An array of actions that the account management URL supports, as defined below. |
##### Account management URL parameters
The account management URL MAY accept the following query parameters:
| Parameter | Description |
|-------------|---------------------------------------------------------------------------------------------------------------------------------------|
| `action` | **Optional**. The action that the user wishes to take. Must match one of the actions in `account_management_actions_supported` above. |
| `device_id` | **Optional**. Identifies a particular Matrix device ID for actions that support it. |
If the `org.matrix.device_view` or `org.matrix.device_delete` actions are
advertised as supported by the server then the server SHOULD support the
`device_id` parameter.
##### Account management URL actions
The following account management actions are defined:
| Action | Description |
|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `org.matrix.profile` | The user wishes to view/edit their profile (name, avatar, contact details). |
| `org.matrix.devices_list` | The user wishes to view a list of their devices. |
| `org.matrix.device_view` | The user wishes to view the details of a specific device. A `device_id` should be provided. |
| `org.matrix.device_delete` | The user wishes to delete/log out a specific device. A `device_id` should be provided. |
| `org.matrix.account_deactivate` | The user wishes to deactivate their account. |
| `org.matrix.cross_signing_reset` | The user wishes to reset their cross-signing identity. Servers SHOULD use this action in the URL of the [`m.oauth`](#oauth-authentication) UIA type. |
### Account moderation ### Account moderation
#### Account locking #### Account locking

View file

@ -87,7 +87,7 @@ Matrix 1.12 is expected to be released in the July-September 2024 calendar quart
The homeserver SHOULD be able to supply thumbnails for uploaded images The homeserver SHOULD be able to supply thumbnails for uploaded images
and videos. The exact file types which can be thumbnailed are not and videos. The exact file types which can be thumbnailed are not
currently specified - see [Issue currently specified - see [Issue
\#1938](https://github.com/matrix-org/matrix-doc/issues/1938) for more \#1938](https://github.com/matrix-org/matrix-spec/issues/453) for more
information. information.
The thumbnail methods are "crop" and "scale". "scale" tries to return an The thumbnail methods are "crop" and "scale". "scale" tries to return an

View file

@ -921,7 +921,7 @@ collaborate to create a common set of translations for all languages.
{{% boxes/note %}} {{% boxes/note %}}
Known translations for the emoji are available from Known translations for the emoji are available from
<https://github.com/matrix-org/matrix-doc/blob/master/data-definitions/> <https://github.com/matrix-org/matrix-spec/tree/main/data-definitions/>
and can be translated online: and can be translated online:
<https://translate.riot.im/projects/matrix-doc/sas-emoji-v1> <https://translate.riot.im/projects/matrix-doc/sas-emoji-v1>
{{% /boxes/note %}} {{% /boxes/note %}}

View file

@ -119,7 +119,7 @@ Clients SHOULD verify the structure of incoming events to ensure that
the expected keys exist and that they are of the right type. Clients can the expected keys exist and that they are of the right type. Clients can
discard malformed events or display a placeholder message to the user. discard malformed events or display a placeholder message to the user.
Redacted `m.room.message` events MUST be removed from the client. This Redacted `m.room.message` events MUST be removed from the client. This
can either be replaced with placeholder text (e.g. "\[REDACTED\]") or can either be replaced with placeholder text (e.g. "[REDACTED]") or
the redacted message can be removed entirely from the messages view. the redacted message can be removed entirely from the messages view.
Events which have attachments (e.g. `m.image`, `m.file`) SHOULD be Events which have attachments (e.g. `m.image`, `m.file`) SHOULD be

View file

@ -139,6 +139,32 @@ paths:
items: items:
type: string type: string
description: A prompt value that the server supports. description: A prompt value that the server supports.
account_management_uri:
x-addedInMatrixVersion: "1.18"
type: string
format: uri
description: |-
The URL where the user is able to access the account management capabilities
of the homeserver.
This is an extension [defined in this specification](/client-server-api/#oauth-20-account-management).
account_management_actions_supported:
x-addedInMatrixVersion: "1.18"
type: array
description: |-
List of actions that the account management URL supports.
This is an extension [defined in this specification](/client-server-api/#oauth-20-account-management).
items:
type: string
enum:
- "org.matrix.profile"
- "org.matrix.devices_list"
- "org.matrix.device_view"
- "org.matrix.device_delete"
- "org.matrix.account_deactivate"
- "org.matrix.cross_signing_reset"
description: An action that the account management URL supports.
required: required:
- issuer - issuer
- authorization_endpoint - authorization_endpoint

View file

@ -223,7 +223,7 @@ paths:
type: string type: string
# XXX: As mentioned in MSC1227, replacing `[not_]membership` with a JSON # XXX: As mentioned in MSC1227, replacing `[not_]membership` with a JSON
# filter might be a better alternative. # filter might be a better alternative.
# See https://github.com/matrix-org/matrix-doc/issues/1337 # See https://github.com/matrix-org/matrix-doc/issues/1227
- in: query - in: query
name: membership name: membership
description: |- description: |-

View file

@ -78,7 +78,7 @@ paths:
}, },
"room": { "room": {
"regexp": "[^\\s]+\\/[^\\s]+", "regexp": "[^\\s]+\\/[^\\s]+",
"placeholder": "matrix-org/matrix-doc" "placeholder": "matrix-org/matrix-spec"
} }
}, },
"instances": [ "instances": [

View file

@ -6,7 +6,7 @@
* in the specification. * in the specification.
* *
* In detail, it: * In detail, it:
* - fetches all GitHub issues from matrix-doc that have the `proposal` label * - fetches all GitHub issues from matrix-spec-proposals that have the `proposal` label
* - groups them by their state in the MSC process * - groups them by their state in the MSC process
* - does some light massaging of them so it's easier for the Hugo template to work with them * - does some light massaging of them so it's easier for the Hugo template to work with them
* - store them at /data/msc * - store them at /data/msc