目录
基础概念
当前有一个开放接口 该接口
会被非常多的商户端来调用
管理商户端
开放接口平台设计
第三方支付接口 或者 第三方知名平台接口
微信 支付宝 等。
申请一个appid 和密码
Appid===QQ账户---终生无法变化
Apppwd====改=====QQ密码
appid 和密码 获取token
需要使用该token调用接口
Token 临时且唯一 2个小时 8个小时
Token 失效----刷新token
什么是oauth2
OAuth 2.0 是一个授权协议,它允许软件应用代表(而不是充当)资源拥有者去访问资源拥有者的资源。应用向资源拥有者请求授权,然后取得令牌(token),并用它来访问资源,并且资源拥有者不用向应用提供用户名和密码等敏感数据。
Oauth角色划分
1、Resource Server:被授权访问的资源
2、Authotization Server:OAUTH2认证授权中心
3、Resource Owner: 用户
4、Client:使用API的合作伙伴
Oauth应用场景
第三方联合登录 比如QQ/微信联合登录
开放接口 蚂蚁金服/腾讯开放接口
演示微信联合登录
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login&token=1820792496&lang=zh_CN
获取 appID appsecret
1.下载微信公众号测试工具
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html2.拼接授权地址获取授权码
https://open.weixin.qq.com/connect/oauth2/authorize?appid=获取的appid&redirect_uri=测试平台网页账号管理的ip地址&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redire
3.通过授权码获取 accessToken
https://api.weixin.qq.com/sns/oauth2/access_token?appid=获取的appid&secret=获取的appsecret&code=获取的授权码&grant_type=authorization_code
4.根据accessToken+openid 获取用户的信息
https://api.weixin.qq.com/sns/userinfo?access_token=获取的accessToken&openid=获取的openid &lang=zh_CN
整合代码
Maven依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-st