跳到主要内容

GAS 开放授权登录接口

基本信息

接口描述: 提供开放授权登录(OAuth)相关功能,包括客户端登录获取auth_token、应用信息获取、用户授权、access_token验证及退出登录等。

接口地址: https://api.chinadlrs.com/developer/oauth.php

请求方式: POST

响应格式: JSON

时序图

公共参数

查询参数 (Query Parameters)

参数名类型必填描述默认值
typenumber操作类型(1-5)
langstring响应语言(zh/en)zh
查询参数

查询参数通过在接口地址后直接拼接的方式传递,地址和参数之间用 ? 分隔,多个参数之间用 & 连接。

例如操作类型为1、响应语言为英文的接口地址为:
https://api.chinadlrs.com/developer/oauth.php?type=1&lang=en

请求头 (Headers)

参数名类型必填描述
Content-Typestring必须设置为 application/json

操作类型说明

1. 客户端获取授权令牌 (type=1)

功能描述: 客户端使用appid和apptoken获取授权令牌(auth_token),在跳转网页前调用。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
apptokenstring应用授权令牌"BXls0PFLMHSuZyWw"
数据加密

apptoken 参数是经过加密的字符串,用于验证应用权限和保护数据安全
具体的加密算法请参考《数据加密说明文档》

请求示例

{
"appid": 1,
"apptoken": "BXls0PFLMHSuZyWw"
}

响应参数

参数名类型描述示例
codenumber状态码200
dataobject响应数据对象
data.auth_tokenstring加密后的授权令牌"n9K7iRLJYLhZnupJHoVFbw=="
msgstring响应消息"操作成功"

2. 打开网页端供用户授权登录

网页端地址: https://gas.chinadlrs.com/oauth

查询参数 (Query Parameters)

参数名类型必填描述
appidint应用唯一标识符
tokenstring授权令牌(加密后的auth_token)
查询参数

查询参数通过在网页地址后直接拼接的方式传递,地址和参数之间用 ? 分隔,多个参数之间用 & 连接。

例如appid为1、加密后的auth_token为abc的网页地址为:
https://gas.chinadlrs.com/oauth?appid=1&token=abc

3. 验证 access_token (type=4)

功能描述: 客户端验证授权是否有效,获取用户访问令牌(access_token)。

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
auth_tokenstring操作类型1获取的授权令牌"n9K7iRLJYLhZnupJHoVFbw=="

请求示例

{
"appid": 1,
"auth_token": "n9K7iRLJYLhZnupJHoVFbw=="
}

响应参数

参数名类型描述示例
codenumber状态码200
dataobject响应数据对象
data.access_tokenstring加密后的访问令牌"123abc"
data.emailstring用户邮箱"user@example.com"
data.user_groupstring用户权限组(逗号分隔)"0,2"
msgstring响应消息"操作成功"

4. 退出登录 (type=5)

功能描述: 用户退出应用授权

请求体 (Body)

参数名类型必填描述示例
appidint应用唯一标识符1
emailstring用户邮箱"user@example.com"
access_tokenstring访问令牌"p20T7UE/65lwBon6aSNYV7WPzbAvCvdObnK1y+pSH10="

请求示例

{
"appid": 1,
"email": "user@example.com",
"access_token": "p20T7UE/65lwBon6aSNYV7WPzbAvCvdObnK1y+pSH10="
}

响应参数

参数名类型描述示例
codenumber状态码200
datanull无数据
msgstring响应消息"退出登录成功"

成功响应示例

{
"code": 200,
"data": {
"auth_token": "n9K7iRLJYLhZnupJHoVFbw=="
},
"msg": "操作成功"
}

错误响应示例

{
"code": 400,
"data": null,
"msg": "参数缺失"
}

状态码说明

状态码描述解决方案
200操作成功
400请求参数缺失检查必填参数是否提供
400type参数无效确认type参数值在1-5范围内
401Token验证失败检查apptoken是否正确
401授权信息无效检查auth_token是否有效
401用户未登录验证用户登录状态
401登录已失效重新登录获取有效令牌
404应用不存在验证appid是否正确
429请求过于频繁稍后再试,或减少请求频率
500数据库操作失败联系系统管理员