OAuth2.0介绍

OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他 们数据的所有内容。OAuth在全世界得到广泛应用,目前的版本是2.0版。


协议特点:


简单:不管是OAuth服务提供者还是应用开发者,都很易于理解与使用;

安全:没有涉及到用户密钥等信息,更安全更灵活;

开放:任何服务提供商都可以实现OAuth,任何软件开发商都可以使用OAuth;

应用场景

原生app授权:app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、 请求后台数据。

前后端分离单页面应用:前后端分离框架,前端请求后台数据,需要进行oauth2安全认证

第三方应用授权登录,比如QQ,微博,微信的授权登录。

基本概念

Third-party application:第三方应用程序,又称"客户端"(client),即例子中的"豆瓣"。

HTTP service:HTTP服务提供商,简称"服务提供商",即例子中的qq。

Resource Owner:资源所有者,又称"用户"(user)。

User Agent:用户代理,比如浏览器。

Authorization server:授权服务器,即服务提供商专门用来处理认证授权的服务器。

Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与授权服务器,可以是同一台服务器,也可以是不同的服务器。

OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务提供商"进行交互。