获取账号绑定的三方身份源
GET/auth/v1/user/provider
接口说明
获取当前用户绑定的第三方身份源列表,包括已绑定的和可绑定的身份源信息
入参要求:
Authorization: 当前登录用户的access_token(必填,请求头中传入,格式为Bearer xxx)client_id: 应用对应的客户端id(可选,默认为环境id)x-device-id: 设备id(可选,当前登录设备的id)
前置条件:
- 需要有效的access_token
- 用户必须已登录
出参:
- 返回用户绑定的身份源列表(v1ProvidersResponse)
- 包含身份源标识、名称、主页、头像、绑定状态等信息
获取绑定身份源请求示例
GET /auth/v1/user/provider
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ
x-device-id: device_123456
获取绑定身份源响应示例
{
"total": 2,
"data": [
{
"id": "github",
"name": "GitHub",
"homepage": "https://github.com",
"picture": "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png",
"provider_user_name": "zhangsan",
"provider_type": "oauth",
"bind": true
},
{
"id": "wechat",
"name": "微信",
"homepage": "https://open.weixin.qq.com",
"picture": "https://res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico",
"provider_user_name": "",
"provider_type": "oauth",
"bind": false
},
{
"id": "google",
"name": "Google",
"homepage": "https://accounts.google.com",
"picture": "https://www.google.com/favicon.ico",
"provider_user_name": "",
"provider_type": "oauth",
"bind": false
}
]
}
使用场景:
- 用户查看已绑定的第三方登录方式
- 用户选择可绑定的新身份源
- 管理用户的多重身份验证方式
- 展示用户登录方式的安全性状态
关键特性:
- 返回所有可用的身份源列表
- 显示每个身份源的绑定状态
- 包含身份源的基本信息和图标
- 支持多种身份源类型(OAuth、OIDC、SAML等)
后续操作:
- 对于未绑定的身份源,可以调用绑定接口进行绑定
- 对于已绑定的身份源,可以调用解绑接口进行解绑
- 可以通过身份源信息进行登录方式切换
Request
Query Parameters
client_id string
应用对应的客户端id,可从云开发平台-->身份认证-->开发设置获取。默认为环境id,可以不传
Header Parameters
x-device-id string
设备id,当前登录设备的id。客户端应随机生成,并缓存到客户端。此参数与登录账号数有关
Authorization stringrequired
当前登录用户的access_token, 值的格式为Bearer xxx
Example: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6Ijk4NzY1NDMyMTAxMjM0NTY3ODkiLCJhdWQiOiJkZW1vLWFwcC0yZjhhOWMzZTFiNGQiLCJleHAiOjE3MzQ2NzU4ODksImlhdCI6MTczNDY2ODY4OSwic2NvcGUiOiJ1c2VyIn0.dGhpc19pc19hX2Zha2Vfc2lnbmF0dXJlX2Zvcl9leGFtcGxlX3B1cnBvc2VzX29ubHlfZG9fbm90X3VzZV9pbl9wcm9kdWN0aW9uX2Vudmlyb25tZW50X3RoaXNfaXNfbm90X3JlYWxfdG9rZW5fZGF0YQ
- application/json
Body
- any
Responses
- 200
- 500
A successful response.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- ]
total int32
总数
data object[]
绑定身份源数据
id string
身份源标识
name string
身份源名称
homepage string
身份源主页
picture string
身份源头像
provider_user_name string
身份源用户名
provider_type string
身份源类型
bind boolean
是否绑定
{
"total": 0,
"data": [
{
"id": "string",
"name": "string",
"homepage": "string",
"picture": "string",
"provider_user_name": "string",
"provider_type": "string",
"bind": true
}
]
}
An unexpected error response.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
error 错误信息 (string)
error_code int32
error_description 错误描述 (string)
{
"error": "string",
"error_code": 0,
"error_description": "string"
}
Loading...