Appearance
chainID授权
开始
chainId 钱包登录是基于 OAuth2.0 构建的 OAuth2.0 授权登录系统。 在进行 OAuth2.0 授权登录接入之前,在chainID平台注册开发者帐号,并创建应用,并获得相应的 AppID 和 AppSecret,可开始接入流程。
授权流程说明
OAuth2.0 授权登录让用户使用 chainId 钱包上的区块链身份安全登录第三方应用或网站,在用户授权登录已接入 chainId 钱包 OAuth2.0 的第三方应用后,第三方可以获取到用户的接口调用凭证 access_token
,通过 access_token
可以进行授权关系接口调用,从而可实现获取钱包用户基本开放信息和帮助用户实现基础开放功能等。
授权登录目前因支持 authorization_code 模式。
授权流程:
- 第三方应用发起钱包授权登录请求,根据授权请求参数跳转至 chainId授权页面
- 用户允许授权第三方应用后,会重定向到第三方网站,并且带上授权临时票据 code 参数
- 通过 code 获取 access_token
- 通过 access_token 进行接口调用,获取用户基本数据资源或帮助用户实现基本操作
获取 code
H5 网页授权
在 H5 网页端进行重定向,跳转至以下地址:
html
http://chainuid.com/auth?client_id=649e51ef60b22b71d2bec89a&chain_code=artchain&redirect_uri=https://baidu.com
http://chainuid.com/auth?client_id=649e51ef60b22b71d2bec89a&chain_code=artchain&redirect_uri=https://baidu.com
参数说明
参数 | 必填 | 说明 |
---|---|---|
client_id | 是 | 应用APPID |
chain_code | 是 | 区块链ID |
redirect_uri | 是 | 授权后会将 code 和 chainAddress 作为 query 参数拼接后重定向到此地址 |
返回说明
用户允许授权后,将会重定向到 redirect_uri 的网址上,并且带上 code 和 state 参数
html
redirect_uri?code=CODE&chainAddress=0x1554154
redirect_uri?code=CODE&chainAddress=0x1554154
若用户禁止授权,则不会发生重定向。
通过 code 获取 access_token
- 请求 POST
通过 code 获取 access_token:
html#
## 开始
chainId 钱包登录是基于 **OAuth2.0** 构建的 OAuth2.0 授权登录系统。 在进行 OAuth2.0 授权登录接入之前,在[chainID平台](https://chainuid.com)注册开发者帐号,并创建应用,并获得相应的 AppID 和 AppSecret,可开始接入流程。
## 授权流程说明
OAuth2.0 授权登录让用户使用 chainId 钱包上的区块链身份安全登录第三方应用或网站,在用户授权登录已接入 chainId 钱包 OAuth2.0 的第三方应用后,第三方可以获取到用户的接口调用凭证 `access_token`,通过 `access_token` 可以进行授权关系接口调用,从而可实现获取钱包用户基本开放信息和帮助用户实现基础开放功能等。
授权登录目前因支持 **authorization\_code** 模式。
授权流程:
1. 第三方应用发起钱包授权登录请求,根据授权请求参数跳转至 chainId授权页面
2. 用户允许授权第三方应用后,会重定向到第三方网站,并且带上授权临时票据 **code** 参数
3. [通过 code 获取 access\_token](#通过-code-获取-access-token)
4. 通过 access\_token 进行接口调用,获取用户基本数据资源或帮助用户实现基本操作
## 获取 code
### H5 网页授权
在 H5 网页端进行重定向,跳转至以下地址:
```html
http://chainuid.com/auth?client_id=649e51ef60b22b71d2bec89a&chain_code=artchain&redirect_uri=https://baidu.com
## 开始
chainId 钱包登录是基于 **OAuth2.0** 构建的 OAuth2.0 授权登录系统。 在进行 OAuth2.0 授权登录接入之前,在[chainID平台](https://chainuid.com)注册开发者帐号,并创建应用,并获得相应的 AppID 和 AppSecret,可开始接入流程。
## 授权流程说明
OAuth2.0 授权登录让用户使用 chainId 钱包上的区块链身份安全登录第三方应用或网站,在用户授权登录已接入 chainId 钱包 OAuth2.0 的第三方应用后,第三方可以获取到用户的接口调用凭证 `access_token`,通过 `access_token` 可以进行授权关系接口调用,从而可实现获取钱包用户基本开放信息和帮助用户实现基础开放功能等。
授权登录目前因支持 **authorization\_code** 模式。
授权流程:
1. 第三方应用发起钱包授权登录请求,根据授权请求参数跳转至 chainId授权页面
2. 用户允许授权第三方应用后,会重定向到第三方网站,并且带上授权临时票据 **code** 参数
3. [通过 code 获取 access\_token](#通过-code-获取-access-token)
4. 通过 access\_token 进行接口调用,获取用户基本数据资源或帮助用户实现基本操作
## 获取 code
### H5 网页授权
在 H5 网页端进行重定向,跳转至以下地址:
```html
http://chainuid.com/auth?client_id=649e51ef60b22b71d2bec89a&chain_code=artchain&redirect_uri=https://baidu.com
参数说明
参数 | 必填 | 说明 |
---|---|---|
client_id | 是 | 应用APPID |
chain_code | 是 | 区块链ID |
redirect_uri | 是 | 授权后会将 code 和 chainAddress 作为 query 参数拼接后重定向到此地址 |
返回说明
用户允许授权后,将会重定向到 redirect_uri 的网址上,并且带上 code 和 state 参数
html
redirect_uri?code=CODE&chainAddress=0x1554154
redirect_uri?code=CODE&chainAddress=0x1554154
若用户禁止授权,则不会发生重定向。
通过 code 获取 access_token
- 请求 POST
通过 code 获取 access_token:
html
https://api.chainuid.com/oauth2/token
https://api.chainuid.com/oauth2/token
参数说明
参数 | 必填 | 说明 |
---|---|---|
client_id | 是 | 应用APPID |
client_secret | 是 | 应用密钥 AppSecret |
code | 是 | 授权重定向后的code |
- 响应
json
{
"code": 0,
"data": {
"access_token": "d707a315-4b76-4454-9c84-50823468f98b",
"refresh_token": "JIXX3Os5ztPLSD2CTJE6fvw4xkApcmSu3DeoP2GL0obfZRe5FdIdLgwfz9Gz",
"expires_in": 7199,
"refresh_expires_in": 2591999,
"client_id": "6459fcf959fe8d644beace51",
"scope": ""
},
"msg": "SUCCESS"
}
{
"code": 0,
"data": {
"access_token": "d707a315-4b76-4454-9c84-50823468f98b",
"refresh_token": "JIXX3Os5ztPLSD2CTJE6fvw4xkApcmSu3DeoP2GL0obfZRe5FdIdLgwfz9Gz",
"expires_in": 7199,
"refresh_expires_in": 2591999,
"client_id": "6459fcf959fe8d644beace51",
"scope": ""
},
"msg": "SUCCESS"
}
参数说明
参数 | 必填 | 说明 |
---|---|---|
access_token | 是 | 接口调用凭证 |
refresh_token | 是 | 刷新access_token |
expires_in | 是 | access_token 接口调用凭证超时时间,单位(秒) |
错误返回样例:
json
{
"code": 10,
"msg": "系统异常[无效code: 33YRmACiAsUQlX5BmDa5Kyuac0C2O08KnvZBmjG66Cgj0JvMzc1jvBQKTJF8]"
}
{
"code": 10,
"msg": "系统异常[无效code: 33YRmACiAsUQlX5BmDa5Kyuac0C2O08KnvZBmjG66Cgj0JvMzc1jvBQKTJF8]"
}
通过 access_token 获取用户信息
获取 access_token 后,进行接口调用,有以下前提:
- access_token 有效且未超时;
- 用户已授权给第三方应用帐号相应作用域(scope)。
此接口用于获取用户个人信息。开发者可通过 openid 来获取用户基本信息。
请求 GET
html
https://api.chainuid.com/user
https://api.chainuid.com/user
参数说明
响应
json
{
"code": 0,
"data": {
"user": {
"avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132",
"nickname": "183****7955",
"phone": "18330881555",
"uid": 9
},
"verifyInfo": {
"createTime": "2023-06-20 20:05:18",
"id": 1324441,
"idcardNo": "182503189502091113",
"phone": "18330881555",
"realName": "张强",
"uid": 9
}
},
"msg": "SUCCESS"
}
{
"code": 0,
"data": {
"user": {
"avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132",
"nickname": "183****7955",
"phone": "18330881555",
"uid": 9
},
"verifyInfo": {
"createTime": "2023-06-20 20:05:18",
"id": 1324441,
"idcardNo": "182503189502091113",
"phone": "18330881555",
"realName": "张强",
"uid": 9
}
},
"msg": "SUCCESS"
}
https://api.chainuid.com/oauth2/token
参数说明
| 参数 | 必填 | 说明 |
| ------------- | :-----------: | ----: |
| client_id | 是 | 应用APPID |
| client_secret | 是 | 应用密钥 AppSecret |
| code | 是 | 授权重定向后的code |
- 响应
```json
{
"code": 0,
"data": {
"access_token": "d707a315-4b76-4454-9c84-50823468f98b",
"refresh_token": "JIXX3Os5ztPLSD2CTJE6fvw4xkApcmSu3DeoP2GL0obfZRe5FdIdLgwfz9Gz",
"expires_in": 7199,
"refresh_expires_in": 2591999,
"client_id": "6459fcf959fe8d644beace51",
"scope": ""
},
"msg": "SUCCESS"
}
参数说明
| 参数 | 必填 | 说明 |
| ------------- | :-----------: | ----: |
| client_id | 是 | 应用APPID |
| client_secret | 是 | 应用密钥 AppSecret |
| code | 是 | 授权重定向后的code |
- 响应
```json
{
"code": 0,
"data": {
"access_token": "d707a315-4b76-4454-9c84-50823468f98b",
"refresh_token": "JIXX3Os5ztPLSD2CTJE6fvw4xkApcmSu3DeoP2GL0obfZRe5FdIdLgwfz9Gz",
"expires_in": 7199,
"refresh_expires_in": 2591999,
"client_id": "6459fcf959fe8d644beace51",
"scope": ""
},
"msg": "SUCCESS"
}
参数说明
参数 | 必填 | 说明 |
---|---|---|
access_token | 是 | 接口调用凭证 |
refresh_token | 是 | 刷新access_token |
expires_in | 是 | access_token 接口调用凭证超时时间,单位(秒) |
错误返回样例:
json
{
"code": 10,
"msg": "系统异常[无效code: 33YRmACiAsUQlX5BmDa5Kyuac0C2O08KnvZBmjG66Cgj0JvMzc1jvBQKTJF8]"
}
{
"code": 10,
"msg": "系统异常[无效code: 33YRmACiAsUQlX5BmDa5Kyuac0C2O08KnvZBmjG66Cgj0JvMzc1jvBQKTJF8]"
}
通过 access_token 获取用户信息
获取 access_token 后,进行接口调用,有以下前提:
- access_token 有效且未超时;
- 用户已授权给第三方应用帐号相应作用域(scope)。
此接口用于获取用户个人信息。开发者可通过 openid 来获取用户基本信息。
请求 GET
html
https://api.chainuid.com/user
https://api.chainuid.com/user
参数说明
响应
json
{
"code": 0,
"data": {
"user": {
"avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132",
"nickname": "183****7955",
"phone": "18330881555",
"uid": 9
},
"verifyInfo": {
"createTime": "2023-06-20 20:05:18",
"id": 1324441,
"idcardNo": "182503189502091113",
"phone": "18330881555",
"realName": "张强",
"uid": 9
}
},
"msg": "SUCCESS"
}
{
"code": 0,
"data": {
"user": {
"avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132",
"nickname": "183****7955",
"phone": "18330881555",
"uid": 9
},
"verifyInfo": {
"createTime": "2023-06-20 20:05:18",
"id": 1324441,
"idcardNo": "182503189502091113",
"phone": "18330881555",
"realName": "张强",
"uid": 9
}
},
"msg": "SUCCESS"
}