返回介绍

17.1 OAuth2.0 认证原理

发布于 2024-10-11 00:03:37 字数 1290 浏览 0 评论 0 收藏 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文