17.1 OAuth2.0 认证原理
Oauth 允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片、视
频、联系人列表),而无须将用户名和密码提供给第三方应用的协议。
OAuth 2.0 认证流程如图 17-1 所示。原理很简单,用户访问 App,App 访问
Authorization Server 请求权限,Authorization Server 得到用户同意后,返回 Token,App 通
过这个 Token 向 Authorization Server 索要数据,App 只能从 Authorization Server 获取服务器
数据,而无法直接访问 Resource Server。下面用 Facebook 的 Oath2.0 登录过程作为举例。
步骤一:App 向 Oauth Server 请求的 URL 里面带着该 App 的 id、key、请求的类型、返回
一串的 access_token 和事件类型 code。
https://facebook.com/dialog/oauth?
response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=REDIRECT_URI&scope=email 步骤二:回调,跳转到权限确认页面等待用户确认授权。
https://facebook.com/dialog/oauth?
response_type=code&client_id=28653682475872&redirect_uri=example.com&scope=email 该页面通过 redirect_uri,回调到指定的 callback 页面。
图 17-1 OAuth 2.0 认证流程图
步骤三:利用返回的 access_token,将 App 的 id、key 以及 code 代码发包到 POST
https://graph.facebook.com/oauth/access_token。
这一步是为了获取 Token。
步骤四:Oauth Server 返回 Token,这时,就可以通过 Token 获取用户授权的资源了。
资料参考:
· http://oauth.net/2/
· https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论