OAuth2原理

OAuth2 原理
前提
每个网站要(本文以慕课网为例)想使得用户可以通过第三方应用(本文以QQ为例)登录其网站,那么首先要到QQ互联官网提交相关资料以供审核
提交资料主要信息如下表

appIdappKeydomaindescriptionredirect_uri
10001421221001www.mooc.com在线教育平台http://www.mooc.com
10002421221002blog.csdn.netcsdn网站blog.csdn.net

流程图

过程
用户访问慕课网(用户想看视频,需要登录,但是用户很懒,不想注册账号)
用户点击QQ登录按钮(慕课网请求OAuth登录)
此时发送的URL请求即是Request Token URL:慕课网请求QQ登录页使用的带有特定参数的URL
URL= http://graph.qq.com/oauth/…?…&client_id=10001 & redirect_uri=http://www.mooc.com
其中:client_id对应的是慕课网在提交审核资料给QQ互联官网时所分配的唯一的appId;redict_uri即为回调地址;
用户在OAuth登录页面输入QQ号和密码之后成功登录,然后用户点击授权按钮,然后返回到redirect_uri所对应的网址:http://www.mooc.com/qqcallbcak?code=xxx
此时慕课网服务器会获取url中包含的code值,然后慕课网会发送post请求到User Authorization URL所对应的网址:https://xxx.qq.com/oauth/…?.. & client_id=10001 & client_secret=421221002 & code=xxx
请求返回的json或xml数据中包含AccessToken信息,通过该AccessToken,慕课网可以获取该QQ用户的一些基本信息(由权限所约束),比如QQ用户名和邮箱
此时,用户所在页面为登录慕课网成功页面,用户可以看视频或者进行留言;

posted @ 2017-09-28 09:58  岳麓丹枫  阅读(242)  评论(0编辑  收藏  举报