集成了Spring security Oauth2,开发者可以通过国际标准的 OAuth2.0 授权机制,在用户授权的情况下,得到code用于换取用户信息的令牌。在拿到用户的授权令牌后可访问用户中心服务上相关接口,如用户信息接口。
1.向用户中心申请client_id、client_secret
2.开始使用
认证中心:用户中心
第三方平台:接入方
http://{{用户中心域名}}
用户中心域名开发环境 tcc-dev.interlib.com.cn
用户中心域名生产环境 ofa.wenyouyun.com
先向用户中心申请一个第三方应用ID和应用密钥,(注意保存该重要信息,不支持找回,可重置密钥)
用户跳转后,用户中心会要求用户登录,然后询问是否同意给予该请求的网站授权。用户表示同意,这时用户中心就会跳回redirect_uri参数指定的网址并在地址栏返回code
当请求的网站拿到授权码以后,就可以在后端,向授权中心请求令牌(token有效时间为7天,如果未过期还是生成同一个token)
用户中心收到请求以后,就会颁发令牌.
请求方式:GET
请求地址:http://{{用户中心域名}}/api/tcc-user-center/oauth/authorize
请求参数:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
response_type | String | 是 | 认证类型,固定传code |
client_id | String | 是 | 注册到授权中分配的参数 |
redirect_uri | String | 是 | 登录后的应用跳转地址 |
scope | String | 是 | 授权权限read |
请求示例:
http://localhost:20005/oauth/authorize?response_type=code&client_id=user-client&redirect_uri=http://www.baidu.com&scope=read
返回示例:
https://www.baidu.com/?code=YuTOfU
请求方式:POST
请求地址:http://{{用户中心域名}}/api/tcc-user-center/oauth/token
请求参数:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
code | String | 是 | 接口一返回的code |
client_id | String | 是 | 应用ID |
grant_type | String | 是 | 授权类型默认传authorization_code |
client_secret | String | 是 | 应用密钥 |
redirect_uri | String | 是 | 回调地址 |
请求示例:
http:localhost:20005/oauth/token
返回示例:
{
"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcklkXCI6Njc3OTc0OTE2NTgxMzk2NDgwfSIsImV4cCI6MTY0NjM1OTU4OX0.zxEo9yxxT-KhQGBvnxCWsxKMRIkVSWduUUSQJ5XfoLg",
"token_type": "bearer",
"expires_in": 589564
}
postman示例
请求方式:GET
请求头参数:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
CLIENT-TOKEN | String | 是 | 通过code获取的token |
请求示例:
http:localhost:20005/client-api/userCenter/info
返回示例:
{
"code": 200,
"data": {
"nickName": "132*****720",
"realName": null,
"headPic": null,
"gender": null,
"province": null,
"city": null,
"area": null,
"verifyTag": 0,
"mobilePhone": "132*****720",
"encryptIdCard": "4409**********987X",
"encryptRealName": null,
"certificateType": 1,
"birthdate": null
},
"desc": "操作成功",
}
postman示例: