问卷/试卷服务
成长值服务
短信服务

C端用户授权


如果第三方公众号想要获取用户信息,可以通过网页授权的机制,来获取用户基本信息,进而实现业务逻辑。

网页授权步骤

网页授权步骤

目录

第一步:引导用户授权,根据AppId获取code

第二步:通过code以及Secret换取access_token

第三步:根据access_token拉取用户信息

第一步:引导用户授权,根据AppId获取code

引导关注者打开如下页面(参考链接):

http://tcc-dev.interlib.com.cn/wx-web/external/auth?appid=APPID&url=REDIRECT_URI

备注:

参数说明

参数 是否必须 说明
appid 应用唯一标识
redirect_uri 授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理

尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。

如果页面授权成功,页面将跳转至 redirect_uri/?code=CODE

code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,10分钟未被使用自动过期。

第二步:通过code以及Secret换取access_token

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

请求方式: GET(HTTPS)

请求地址:http://tcc-dev.interlib.com.cn/api/tcc-open-platform/oauth2/client/accessToken?appId=ID&secret=SECRET&code=CODE

参数说明

参数 是否必须 说明
appId 应用唯一标识 由管理员创建应用并派发(int类型)
secret 应用密钥 由管理员创建应用并派发
code 步骤一中回调返回的参数

返回说明

正确时返回的JSON数据包如下

{
  "code": 200,
  "data": {
    "token": "accessTokenxxxxxxxxxxxxxxx",
    "expiresIn": "7200"
  },
  "desc": "操作成功"
}
参数 说明
code 状态码,200为成功,非200为失败
desc 描述
data 返回数据
token accessToken
expiresIn 过期时间,单位秒

第三步:根据access_token拉取用户信息

则此时开发者可以通过access_token拉取用户信息了。

请求方式: GET(HTTPS)

请求地址:http://tcc-dev.interlib.com.cn/api/tcc-open-platform/oauth2/client/userInfo

在获取accessToken后,后续的请求中需要在请求头中携带ACCESS-TOKEN,否则平台会拒绝请求。

curl -X GET "https://tcc-dev.interlib.com.cn/api/tcc-open-platform/oauth2/client/userInfo" -H "accept: */*" -H "ACCESS-TOKEN: accessToken"

返回说明

正确时返回的JSON数据包如下

{
  "code": 200,
  "data": {
    "userId": "1",
    "userName": "testUserName",
    "nickName": "testNickName",
    "mobilePhone": "12345678910",
    "headPic": "https://xxx/photo.jpg"
  },
  "desc": "操作成功"
}
参数 说明
code 状态码,200为成功,非200为失败
desc 描述
data 返回数据
userId 用户唯一标识
userName 用户名
nickName 用户昵称
mobilePhone 手机号码
headPic 头像地址