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

用户中心使用场景

用户中心使用场景

第一种:云平台应用

一、手机号验证码登录

二、账号密码登录

1.手机号+密码实现登录

2.读者证号+密码登录

3.身份证号+密码登录

三、微信授权登录

通过跳转图创公众号进行登录授权,是需要跳转图创公众号进行授权认证

第二种:第三方应用

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

第一步:引导用户授权,根据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 头像地址

第三种:小程序(暂无对接场景,后续考虑)

小程序暂只实现了将数据推送到中台,无法进行登录方式的校验、因小程序比较特殊, 图创中台提供addUser方法,不是所有的用户都会新增,这边只保存了用户手机号不为空的信息,避免脏数据的产生。