#认证 API
#登录流程
GET /_matrix/client/v3/login返回可用的登录流程:
{
"flows": [
{ "type": "m.login.password" }
]
}#密码登录
POST /_matrix/client/v3/login{
"type": "m.login.password",
"identifier": {
"type": "m.id.user",
"user": "alice"
},
"password": "secret123",
"device_id": "MY_DEVICE",
"initial_device_display_name": "Element Web"
}响应:
{
"user_id": "@alice:localhost",
"access_token": "syt_xxx",
"device_id": "ABCDEF",
"home_server": "localhost"
}#注册
POST /_matrix/client/v3/register使用 UIAA(用户交互认证 API):
步骤 1 — 获取流程:
// 响应
{
"flows": [
{ "stages": ["m.login.dummy"] }
],
"params": {},
"session": "abc123"
}步骤 2 — 完成注册:
{
"username": "alice",
"password": "secret123",
"auth": {
"type": "m.login.dummy",
"session": "abc123"
}
}#检查用户名可用性
GET /_matrix/client/v3/register/available?username=alice{ "available": true }#令牌刷新
POST /_matrix/client/v3/token/refresh{
"access_token": "syt_old",
"refresh_token": "fyr_old"
}#登出
POST /_matrix/client/v3/logout撤销当前设备的访问令牌。
POST /_matrix/client/v3/logout/all撤销用户的所有访问令牌。
#旧版端点
| 端点 | 控制器 | 门控 |
|---|---|---|
POST /v1/login/get_token | V1LoginController | — |