Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. 登录

1.1 获取登录二维码

请求

  • 方法POST
  • URLhttps://as.hypergryph.com/general/v1/gen_scan/login
  • 请求体:无

响应示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"data": {
"scanId": "9c9f6b5462e***8d6fb4e48",
"scanUrl": "hypergryph://scan_login?scanId=9c9f6b5462e8df6e1d7912f8d6fb4e48",
"enableScanAppList": [
{
"appCode": "4ca99fa6b56cc2ba",
"name": "森空岛",
"iconUrl": "https://web.hycdn.cn/biz_toolset/upload/251225/qYm0f7X8LMaLkRRL.jpg"
}
]
},
"msg": "OK",
"status": 0,
"type": "A"
}

响应字段说明

字段类型说明
data.scanIdstring二维码唯一标识
data.scanUrlstring二维码内容(生成二维码后,可用 enableScanAppList 中的应用扫码)
data.enableScanAppList[]array当前场景支持扫码登录的 APP 列表
data.enableScanAppList[].appCodestringAPP 唯一编码(后续用于区分服务)
data.enableScanAppList[].namestringAPP 名称
data.enableScanAppList[].iconUrlstringAPP 图标 URL
statusint状态码(0 成功,其余见错误说明)
msgstring状态描述
typestring固定值 "A"

1.2 查询扫码登录状态

请求

  • 方法GET
  • URLhttps://as.hypergryph.com/general/v1/scan_status
  • 查询参数
参数类型必填说明
scanIdstring二维码 ID(从上一接口获取)

响应说明

根据扫码状态返回不同结果:

状态 1:未扫码status: 100

1
2
3
4
5
{
"msg": "未扫码",
"status": 100,
"type": "A"
}

状态 2:已扫码,等待确认status: 101

1
2
3
4
5
{
"msg": "已扫码待确认",
"status": 101,
"type": "A"
}

状态 3:已登录status: 0

1
2
3
4
5
6
7
8
{
"data": {
"scanCode": "m5ZXjm4f24cdQtp1h4XryS*****************9K+OOZFBexhsfbBZkd9xsVJGJtRS8/BccJrsJ0dTnwNx/t9iks3plnp8xQPBqBwcnJJZQXzOfOUr9mJWU="
},
"msg": "OK",
"status": 0,
"type": "A"
}
字段类型说明
data.scanCodestring用于下一步换取登录凭据的临时凭证

注意:建议轮询此接口,直到返回 status: 0 或超时。


1.3 通过 scanCode 获取凭据

请求

  • 方法POST
  • URLhttps://as.hypergryph.com/user/auth/v1/token_by_scan_code
  • 请求头Content-Type: application/json
  • 请求体
1
2
3
4
{
"scanCode": "m5ZXjm4f24cdQtp1h4XryS*****************9K+OOZFBexhsfbBZkd9xsVJGJtRS8/BccJrsJ0dTnwNx/t9iks3plnp8xQPBqBwcnJJZQXzOfOUr9mJWU=",
"appCode": "4ca99fa6b56cc2ba"
}

请求字段说明

字段类型必填说明
scanCodestring上一节获取到的 scanCode
appCodestringAPP 编码(4ca99fa6b56cc2ba 为森空岛)

响应示例

1
2
3
4
5
6
7
8
9
10
{
"data": {
"token": "WqL3wg*****************DhueR5eO",
"hgId": "1333*****6057",
"rememberLogin": true
},
"msg": "OK",
"status": 0,
"type": "A"
}

响应字段说明

字段类型说明
data.tokenstring短时效登录凭据(用于下一步授权)
data.hgIdstring鹰角网络通行证 ID
data.rememberLoginboolean是否记住登录(通常为 true

1.4 授权(获取最终 Access Token)

请求

  • 方法POST
  • URLhttps://as.hypergryph.com/user/oauth2/v2/grant
  • 请求头Content-Type: application/json
  • 请求体
1
2
3
4
5
{
"token": "WqL3wg*****************DhueR5eO",
"appCode": "4ca99fa6b56cc2ba",
"type": 0
}

请求字段说明

字段类型必填说明
tokenstring上一节获取到的短时效 token
appCodestringAPP 编码
typeint授权类型(固定为 0

响应示例

1
2
3
4
5
6
7
8
9
10
{
"data": {
"uid": "1333*****6057",
"code": "Y0v+ZEgFW3mOHsAc7eCvLAu***OH28md9UsgmVSEs4VLqpnzQGt9v9kH8X1cm9lnj2gJ8nW+zniQnDYE6Rdsl5d***svKsELuh9FdF4D",
"token": "OYX/QyUna3JAcQHpGUDZzQaAYXO0gjQNE/kwkECl***W3dqGHHuumgLMPwuyRtVYT3rOt4Jd***rrJLo1BdfMFSbMnaoL7"
},
"msg": "OK",
"status": 0,
"type": "A"
}

响应字段说明

字段类型说明
data.uidstring用户 ID(与 hgId 相同)
data.codestring授权码(可用于换取更高级别 token,本流程中通常不直接使用)
data.tokenstring最终的 Access Token(后续调用用户信息等接口使用)

2. 用户信息

请求

  • 方法GET
  • URLhttps://as.hypergryph.com/user/info/v1/basic
  • 查询参数
参数类型必填说明
tokenstring上一节授权接口返回的 token

响应示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"data": {
"hgId": "1333*****6057",
"phone": "114*****5141",
"email": null,
"identityNum": "1919**********018",
"identityName": "孙**",
"nickName": null,
"isMinor": false,
"isLatestUserAgreement": true
},
"msg": "OK",
"status": 0,
"type": "A"
}

响应字段说明

字段类型说明
data.hgIdstring鹰角网络通行证 ID
data.phonestring绑定的手机号码(中间四位打码)
data.emailstring绑定的邮箱(通常为 null
data.identityNumstring身份证号码(部分打码)
data.identityNamestring真实姓名(姓氏显示,名字打码)
data.nickNamestring用户昵称(可能为 null
data.isMinorboolean是否为未成年人
data.isLatestUserAgreementboolean是否已同意最新用户协议

评论