Oauth2.0流程--授权码方式
2021-12-09 11:25:37 10 举报
Oauth2.0的大概流程
作者其他创作
大纲/内容
client点击该按钮,跳转链接:https://open.weixin.qq.com/connect/qrconnect?appid=wxb7d9fc9f7e72f310&redirect_uri=http%3A%2F%2Flogin.th2class.com%2FweChatLogin.html&response_type=code&scope=snsapi_login
client:客户端,用户的浏览器server:服务端,我们的服务器WeChat:微信,第三方授权登录
B网站先要求用户登录,然后B网站询问用户:是否同意授权登录A网站?
B网站根据传过来的这些参数,判断请求是否合法
A网站成功得到令牌
同意,B网站跳回A网站redirect_uri指定的那个地址,并且带上授权码:https://a.com/callback?code=AUTHORIZATION_CODE
A网站前端有一个类似“微信登录”按钮,里面的超链接为:https://b.com/oauth/authorize? response_type=code& client_id=CLIENT_ID& redirect_uri=CALLBACK_URL& scope=read
A网站得到授权码,会请求B网站的一个地址https://b.com/oauth/token? client_id=CLIENT_ID& client_secret=CLIENT_SECRET& grant_type=authorization_code& code=AUTHORIZATION_CODE& redirect_uri=CALLBACK_URL。去申请获得:令牌,这个令牌在微信登录叫做:access_token
不合法,返回错误码
client_id:B确认A的身份client_secret:B确认A的身份,该参数是保密的。grant_type参数的值是AUTHORIZATION_CODE,表示采用的授权方式是授权码code参数是上一步拿到的授权码,redirect_uri参数是令牌颁发后的回调网址。
不同意,返回授权码失败,授权登录失败
用户点击超链接,来到了B网站
key是response_type表示:要求返回的类型value是code表示:要求返回的类型是授权吗client_id:让B网站知道是哪个网站在请求redirect_uri:是B接受或拒绝请求后的跳转地址scope:授权范围,read-只读
合法,往redirect_uri这个地址上返回:令牌
server端返回一个登录页面,有一个:微信登录的按钮
{ \"access_token\":\"ACCESS_TOKEN\
A网站:我们自己的网站B网站:第三方授权网,如:微信,QQ,微博
收藏
0 条评论
回复 删除
下一页