完整接口列表
Authing 提供基于 REST 的扫码登录接口,开发者可以直接调用。
生成二维码
GET
https://oauth.authing.co/qrcode/gene?userPoolId=xxx&scene=APP_AUTH&customVar1=xxx&customVar2=xxx
返回二维码 ID 和二维码链接。
Query Parameters
customeVar
string
自定义数据字段,可填任意多个。
scene
string
场景值。为常量值,填 APP_AUTH。
userPoolId
string
用户池 ID。
{
"code": 200, // 200 表示正常
"message": "生成二维码成功",
"data": {
"qrcodeId": "5e061366445c9985e5bf890a", // 二维码 ID
"qrcodeUrl": "https://usercontents.authing.co/qrcode/5e061366445c9985e5bf890a.png" // 二维码链接
}
}
生成的二维码:

使用在线二维码解码工具 查看二维码数据如下:其中 customVar1 和 customVar2 保存到了 userDefinedData 对象中。
{
"scene":"APP_AUTH",
"qrcodeId":"5e06c47da6b47a9433f8b3be",
"userPoolId":"59f86b4832eb28071bdd9214",
"createdAt":"2019-12-28T02:57:01.697Z",
"expireAt":"2019-12-28T02:59:01.697Z",
"userDefinedData":{
"customVar1":"xxx",
"customVar2":"xxx"
}
}
查询二维码状态
GET
https://oauth.authing.co/qrcode/check?qrcodeId=xxxx&scene=APP_AUTH
Query Parameters
scene
string
场景值。为常量值,填 APP_AUTH。
qrcodeId
string
二维码 ID。
{
"code": 200, // 业务状态码,200 表示正常
"message": "查询二维码状态成功",
"data": {
"qrcodeId": "5e061489445c9985e5bf890d",
"scanned": false,
"expired": false,
"success": false,
"canceled": false,
"status": 0,
"userInfo": {},
"ticket": "", // 该字段不一定会有
"description": "二维码还没有被扫描"
}
}
请求结果字段说明:
scanned: 二维码是否已经被扫描
expired:二维码是否已经过期
success:用户是否成功授权
canceled:用户是否取消授权
status
0: 未知状态,即还未扫码,或者已经扫码但用户还没有点击同意授权或者取消授权。
1: 用户同意授权
-1: 用户取消授权
userInfo:
默认情况下,在用户扫码之后,会包含昵称(nickname)和头像(photo)两个字段
开发者也可以配置返回完整用户信息(包括登录凭证 token)
ticket:用于换取完整用户资料。此字段只有在用户同意授权之后才会出现。详情见下文。
使用 ticket 换取用户信息
POST
https://oauth.authing.co/oauth/scan-qrcode/exchangeUserInfoWithTicket
Request Body
ticket
string
查询二维码状态接口返回的 ticket
{
"code":200,
"message":"换取用户信息成功",
"data":{
"_id":"5e05bbf2d51b3761d5c71070",
"email":"983132@qq.com",
"emailVerified":false,
"oauth":"",
"registerMethod":"default:username-password",
"username":"983132@qq.com",
"nickname":"",
"company":"",
"photo":"https://usercontents.authing.co/authing-avatar.png",
"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImVtYWlsIjoiOTgzMTMyQHFxLmNvbSIsImlxxxxxxxxx",
"phone":"",
"tokenExpiredAt":"2020-01-11T08:08:18.000Z",
"loginsCount":1,
"lastIP":"::1",
"signedUp":"2019-12-27T08:08:18.115Z",
"blocked":false,
"isDeleted":false
}
}
APP 端标记已扫码
POST
https://oauth.authing.co/oauth/scan-qrcode/scanned
Headers
Authorization
string
用户登录凭证。
Request Body
qrcodeId
string
二维码 ID。
{
code: 200,
message: "二维码扫描确认成功",
data: {
qrcodeId: "", // 原样返回
status: 0,
description: "xxxx",
}
}
APP 端同意授权
POST
https://oauth.authing.co/oauth/scan-qrcode/confirm
Headers
Authorization
string
用户登录凭证。
Request Body
qrcodeId
string
二维码 ID
{
code: 200,
message: "授权登录成功",
data: {
qrcodeId: "", // 原样返回
status: 1,
description: "xxxx",
}
}
APP 端取消授权
POST
https://oauth.authing.co/oauth/scan-qrcode/cancel
Headers
Authorization
string
用户登录凭证。
Request Body
qrcodeId
string
二维码 ID
{
code: 200,
message: "取消授权成功",
data: {
qrcodeId: "", // 原样返回
status: -1,
description: "xxxx",
}
}
Last updated
Was this helpful?