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

  • 相关阅读:
    jenkins+svn+Ant+tomcat+非maven项目构建
    阿里云服务器CentOS6.9安装jenkins
    jenkins构建项目时报错缺少com.sun.image.codec.jpeg包解决方案
    不间断会话服务:screen
    数据库备份与还原:mysqldump,source
    多表更新:update,join
    删除数据高级用法:delete,truncate
    远程传输文件命令:scp
    远程控制服务:配置sshd服务,密钥验证登陆
    绑定多块网卡:负载均衡
  • 原文地址:https://www.cnblogs.com/lyle-liu/p/12689191.html
Copyright © 2011-2022 走看看