第三方账号登录授权

第三方账号登录授权适用于不打通帆书账号体系的情况,通过授权三方id可购买分销商品。

接入流程分为以下两步:

  1. 通过三方id,获取code
  2. 通过code换取授权access_token(与基础支持中的access_token不同)

1.通过三方id,获取code

通过三方的用户id获取
HTTP请求方式:post
https://open-platform-test.dushu365.com/user/getCodeByThrid?appid=fd0cac7cd6726d1111&sign=82536892cee554f566a4c45e61b573sad43fc996&access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJBTEwiXSwiZXhwIjoxNTY2fDc2OTQ0LCJqdGkiOiI4NzYxNmMwNC1mMWI3LTRhNWEtYjY1OS05NGIwNWUyZTMwNzQiLCJjbGllbnRfaWQiOiJmZDBjYWM3Y2Q2NzI2ZDIxMWYifQ.K3zwm1NLbYe8KK4JyvueFrCcPnGTrXX1S9PelnOWLCk

参数说明

参数 类型 是否必须 说明
thrid String 三方用户id

2.通过code换取授权access_token

*与基础支持中的access_token不同

首先请注意,这里通过code换取的是一个特殊的授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。应用可通过下述接口来获取网页授权access_token 和 openid。

尤其注意:由于应用的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续通过access_token获取用户信息等步骤,也必须从服务器发起。

HTTP请求方式:post
https://open-platform-test.dushu365.com/oauth1/fd/token?grant_type=authorization_code&code=CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET

参数说明

参数 是否必须 说明
client_id 第三方用户唯一凭证,即appid
client_secret 第三方用户唯一凭证秘钥,即appSecret
grant_type 填写为authorization_code
code 通过根据第三方id获取的code接口 获取

样例

正常返回样例
{
  "accessToken": "e1f21696-a9a6-4d0d-a8d4-fd8d1c44d7da",
  "expiresIn": 7199,
  "openid": "ZOGmm-EhjRAu750wR78V1m",
  "refreshToken": "9861eb64-3825-424e-bfba-115af5e8ef1b"
}
样例参数说明
参数 说明
accessToken 获取到的凭证 (有效期2小时)
expiresIn 凭证有效时间(单位:秒)
openid 用户唯一标识
refreshToken 刷新的token(有限期30天)
错误返回样例

错误时,返回JSON结果

{
    "error": "invalid_client",
    "error_description": "Bad client credentials"
}

该错误表明错误为无效的凭证,请检查请求的appId或appSecret的值是否正确。

样例参数说明
参数 说明
error 错误类型
error_description 错误描述

3.通过refreshToken刷新access_token

HTTP请求方式:post
https://open-platform-test.dushu365.com/oauth1/fd/token?grant_type=refresh_token&refresh_token=94bc3507-e7ee-4708-b1b1-0c2f03dccb7d&client_id=xxxx
参数说明
参数 是否必须 说明
client_id 第三方用户唯一凭证,即appid
refresh_token 第二步获取的refresh_token
grant_type 填写为refresh_token

样例

正常返回样例
{
  "accessToken": "e1f21696-a9a6-4d0d-a8d4-fd8d1c44d7da",
  "expiresIn": 7199,
  "openid": "ZOGmm-EhjRAu750wR78V1m",
  "refreshToken": "9861eb64-3825-424e-bfba-115af5e8ef1b"
}
样例参数说明
参数 说明
accessToken 获取到的凭证
expiresIn 凭证有效时间(单位:秒)
openid 用户唯一标识
refreshToken 刷新的token

results matching ""

    No results matching ""