巡山小妖007

个人站

欢迎来到我的个人博客~


OAuth2

OAuth综述

OAuth2 是怎样被用来在应用之间共享数据的例子

1、用户访问客户端web应用。应用中的“登录”按钮
2、当用户点击了按钮后,会被重定向到授权的应用(如微信),用户登录并确认授权应用中的数据给客户端使用
3、授权应用将用户重定向到客户端应用提供的URI,提供这种重定向的URI通常是通过注册客户端应用程序与授权应用程序完成。在注册中,客户端应用的拥有者组注册该重定向URI,在注册过程中认证应用也会给客户端应用客户端表示和密码。在URI后追加一个认证码。该认证码代表授权
4、用户在客户端应用访问网页被重定向的URI,在背后客户端应用连接授权应用,并且发送在重定向请求参数中接收到客户端表示,客户端密码和认证码,授权应用将返回一个访问口令

一旦客户端有了访问口令,该口令便可以发送到微信、qq等来访问登录用户的资源

角色

OAuth 2.0为用户和应用定义了如下角色:

资源拥有者
资源服务器
客户端应用
授权服务器

这些角色在下图中表示为:

OAuth 2.0规范中的角色定义

  • 资源拥有者是指拥有共享数据的人或应用。比如Facebook或者Google的用户就是是资源拥有者,他们拥有的资源就是他们的数据。资源拥有者在上图中被描述为人,这也是最常见的情况。但资源拥有者也可以是一个应用。OAuth 2.0规范中包含这两种可能性。

  • 资源服务器是指托管资源的服务器。比如,Facebook或Google就是资源服务器(或者有一个资源服务器)。

  • 客户端应用是指请求访问存储在资源服务器的资源的应用。资源被资源拥有者所拥有。客户端应用可以是一个请求访问用户Facebook账号的第三方游戏。

  • 授权服务器是指授权客户端应用能够访问资源拥有者所拥有的资源。授权服务器和资源服务器可以是同一个服务器,但不是必须的。如果这两个服务器是分开的,OAuth 2.0没有讨论这个两个服务器应该如何通信。这是由资源服务器和授权服务器开发者自己设计决定的。

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦