zoukankan      html  css  js  c++  java
  • 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: 资源服务器将用户信息返回给客户端,登录认证成功.

  • 相关阅读:
    KVC(key value coding)/ KVO(key value observing)
    手势识别
    导航控制器掌握内容:
    火车入轨_算法
    卡片游戏_算法
    Python合集之Python循环语句(一)
    Python合集之Python选择语句(四)
    Python合集之Python选择语句(三)
    Python合集之Python选择语句(二)
    Python合集之Python选择语句(一)
  • 原文地址:https://www.cnblogs.com/lyle-liu/p/12689191.html
Copyright © 2011-2022 走看看