API(GraphQL)

使用原生 GraphQL 与 Authing 服务器交互。

Authing 的 API 未使用 RESTful API,而是使用了 GraphQL。

本文档包含了 Authing 的 GraphQL 请求,可直接复制粘贴使用。

GraphQL 网关

  1. https://users.authing.cn/graphql

  2. https://oauth.authing.cn/graphql

如非特殊说明,以下 GraphQL 都使用 https://users.authing.cn/graphql 网关。

推荐使用 insomnia 调试 GraphQL 请求。

初始化

SDK 初始化时获取客户端信息和 accessToken 信息,后续的管理用户的操作请发送此 Token,在下文中,此 Token 命名为「OwnerToken」。

注意事项

此接口不需要发送任何 Token

读取用户配置的社会化登录信息

此接口用来读取用户在 Authing 控制台中配置的 OAuth 信息,enabled 为是否启用。

此接口使用的网关为:https://oauth.authing.cn/graphql

注意事项

此接口不需要发送任何 Token

登录

此接口用来执行用户登录的操作,登录成功后会返回 UserToken,建议单独维护此 Token。

注意事项

  1. 此处(登录)的密码需要加密,Authing 使用了非对称加密算法,加密方式是 PKCS1v1.5。注意,个别语言,如 JavaScript(非 Node )和 Go 在加密之后还要使用 base64 包一层;

  2. 此接口不需要发送任何 Token

Public Key

使用手机验证码登录

使用手机验证码的方式登录,登录后返回的 Token 需要在客户端维护。

注意事项

此接口不用发送任何 Token

发送短信验证码

发送短信验证码是一个 rest 接口,接口声明如下:

发送短信验证码

GET https://users.authing.cn/send_smscode/:phone/:clientId

发送验证码给指定手机号

Query Parameters

Name
Type
Description

clientId

string

应用 ID

phone

string

手机号

通过 LDAP 登录

使用 LDAP 登录,登录后返回的 Token 需要在客户端维护

注意事项

此接口不用发送任何 Token

刷新 Token

刷新用户 Token

注意事项

此接口需发送 OwnerToken

注册

注意事项

  1. 此处(登录)的密码需要加密,Authing 使用了非对称加密算法,加密方式是 PKCS1v1.5。注意,个别语言,如 JavaScript(非 Node)和 Go 在加密之后还要使用 base64 包一层。

  2. 此接口不需要发送任何 Token

Public Key

读取用户资料

此接口用来读取用户资料,建议使用 OwnerToken

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

批量查询用户信息

批量查询用户,ids 是一个字符串,用逗号分隔 id。

注意事项

此接口需要OwnerToken

读取用户列表

此接口用来读取用户列表,建议使用 OwnerToken

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

检查用户登录状态

此接口检查用户登录状态,请使用 UserToken

注意事项

此接口需要发送 Token,请使用 UserToken

删除用户数据

此接口用来删除用户数据,建议使用 OwnerToken

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

更新用户资料

此接口用来更新用户资料,建议使用 OwnerToken

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

重置密码流程

  1. sendResetPasswordEmail 发送重置密码邮件给用户

  2. verifyResetPasswordVerifyCode 检查验证码是否正确

  3. changePassword 使用新的密码和验证码来修改密码

注意事项

以下三个修改密码的 Token 可以不发送任何Token

发送重置密码邮件

验证重置密码验证码

修改密码

此接口用来更改忘记密码后的新密码,需要携带 verifyCode,不用发送 Token,正常的密码修正请使用上面的 update 接口。

发送验证邮件

注意事项

此接口不用发送任何 Token

解析 JWT Token

解析 JWT Token

注意事项

此接口不用发送任何 Token

读取用户绑定的社会化登录

读取用户绑定的社会化登录

此接口使用的网关为:https://oauth.authing.cn/graphql

注意事项

此接口发送 OwnerToken

绑定社会化登录

用户绑定第三方登录方式

注意事项

此接口发送 UserToken

取消绑定社会化登录

用户解绑第三方登录方式

注意事项

此接口发送 UserToken

解绑邮箱

用户解绑 Email

注意事项

此接口发送 UserToken

开启/关闭手机号注册白名单限制

开启或关闭手机号注册时的白名单限制

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

查看用户池的手机号白名单开启状态

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

增加手机号到白名单

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

从白名单中删除手机号

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

查看白名单中的手机号

注意事项

此接口需要发送 Token,建议直接使用 OwnerToken

查询 MFA 信息

参数

  • _id {String},MFA 主体的 id

  • userPoolId {String},用户池 id

  • userId {String},用户 id

  • page {Int},分页页码

  • count {Int},每页数目

传参说明

  1. 通过用户 id用户池 id 参数来查询一个用户的 MFA 信息,此时 userIduserPoolId 两个参数必填。

  2. 也可以通过 MFA 主体的 id 来查询 MFA 的信息,此时只需传入 _id 参数,userId 和 userPoolId 参数可以不传。

注意事项

此接口需要发送 Token,可以使用 OwnerTokenUserToken

修改 MFA 信息

参数

  • _id {String},MFA 主体的 id

  • userPoolId {String},用户池 id

  • userId {String},用户 id

  • enable {Boolean},打开或关闭 MFA

  • refreshKey {Boolean},是否刷新 MFA secret

传参说明

  1. 通过用户 id用户池 id 参数来指定一个用户的 MFA 状态,此时 userIduserPoolId 两个参数必填。

  2. 也可以通过 MFA 主体的 id 来修改 MFA 的状态,此时只需传入 _id 参数,userId 和 userPoolId 参数可以不传。

注意事项

此接口需要发送 Token,必须使用 UserToken

查询用户授权过的 SSO 应用列表

此接口用于查询一个用户池内,用户授权过的 SSO 应用列表。

参数

  • clientId {String},必须,用户池 id

  • userId {String},必须,用户 id

  • page {Number},可选,页数,默认 1

  • count {Number},可选,每页数目,默认 10

返回示例

注意事项

此接口需要发送 Token,可以使用 UserTokenOwnerToken

撤回用户对 SSO 应用的授权

此接口用于撤回一个用户池内,某个用户对该用户池下的某个 SSO 应用的授权。撤回授权后,用户在 SSO 登录页面登录时,会再次显示确权页面。

参数

  • userPoolId {String},必须,用户池 id

  • userId {String},必须,用户 id

  • appId {String},必须,SSO 应用 id

返回示例

注意事项

此接口需要发送 Token,可以使用 UserTokenOwnerToken

Last updated

Was this helpful?