Oauth2.0---第三方登录认证流程

Oauth2.0介绍:

  第三方认证技术方案最主要是解决认证协议的通用标准 问题,因为要实现 跨系统认证,各系统之间要遵循一定的接口协议。

  OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。

  Oauth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用。

Oauth2.0第三方认证流程:

场景假设:你要访问某个不出名的网站, 该网站支持第三方认证,第三方为QQ

  

Oauth2包括以下角色:

  Client: 客户端, 可以理解为就是你要访问的那个不出名的网站;

  Resource Owner: 资源拥有者, 可以理解为用户本身,也就是你;

  Authorization Server: 认证服务器, 可以理解为QQ的认证系统;

  Resource Server: 资源服务器, 可以理解为QQ的用户管理系统;

认证流程:

  A: 客户端 本身不存储资源,需要通过资源拥有者的授权去请求资源服务器的资源;

  B: 资源拥有者确认授权给客户端;

  C: 确认授权过后, 客户端带着确认授权的凭证去认证服务器申请令牌token;

  D: 认证服务器颁发令牌token给客户端;

  E: 客户端携带token请求资源服务器获取用户的信息;

  F: 资源服务器将用户信息返回给客户端,登录认证成功.

猜你喜欢

转载自www.cnblogs.com/lyle-liu/p/12689191.html