1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-08-07 17:03:01 +03:00

Implement account management discovery as per MSC2965

This commit is contained in:
Quentin Gliech
2023-12-05 17:22:28 +01:00
parent b5fb65b1cc
commit 83bf739538
5 changed files with 99 additions and 2 deletions

View File

@@ -429,11 +429,26 @@ impl AccountAddEmail {
/// Actions parameters as defined by MSC2965
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case", tag = "action")]
#[serde(tag = "action")]
pub enum AccountAction {
#[serde(rename = "org.matrix.profile")]
OrgMatrixProfile,
#[serde(rename = "profile")]
Profile,
#[serde(rename = "org.matrix.sessions_list")]
OrgMatrixSessionsList,
#[serde(rename = "sessions_list")]
SessionsList,
#[serde(rename = "org.matrix.session_view")]
OrgMatrixSessionView { device_id: String },
#[serde(rename = "session_view")]
SessionView { device_id: String },
#[serde(rename = "org.matrix.session_end")]
OrgMatrixSessionEnd { device_id: String },
#[serde(rename = "session_end")]
SessionEnd { device_id: String },
}

View File

@@ -195,6 +195,12 @@ impl UrlBuilder {
pub fn upstream_oauth_authorize(&self, id: Ulid) -> Url {
self.absolute_url_for(&crate::endpoints::UpstreamOAuth2Authorize::new(id))
}
/// Account management URI
#[must_use]
pub fn account_management_uri(&self) -> Url {
self.absolute_url_for(&crate::endpoints::Account::default())
}
}
#[cfg(test)]