• OAuth2.0


    不同平台,用户之间互信的问题
    UAC 身份验证中心,管理Web应用,桌面应用和手机,和起居室设备的用户身份验证,允许用户通过一次登录就访问来自多个应用程序的数据

    OAuth2.0协议
    无需加密的认证方式,OAuth 就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用

    认证授权过程:微信扫码登录第三方网站就是OAuth2.0的一个例子;扫码后会在手机上让用户授权:是否同意登录该网站
    我住在一个门禁系统的小区内。进入需要输入密码。如何让快递员通过门禁进入小区?
    1. 门禁系统增加一个授权按钮,快递员申请授权
    2. 快递员申请授权后,我手机接收到申请,并且显示快递员相关信息
    3. 告诉门禁系统,同意快递员进入小区的授权
    4. 门禁向快递员发送一个令牌,快递员输入令牌,进入小区

    令牌跟密码的区别
    1. 令牌是有时间限制的。会自动失效,并且使用只可以使用一次
    2. 令牌可以被数据所有者撤销,会立即失效,屋主可以随时撤销令牌
    3. 令牌有权限范围,只读令牌

    客户端通过用户请求授权的时候生成一个code,这个有时间限制并且使用次数限制
    授权服务器返回客户端生成的state
    客户端拿到code,与授权服务器通信,通过code换取token
    每次与授权服务器通信都需要提供一个Oauth的secret或者用他加密

    4种授权模式
    1. 授权码模式 通过客户端的后台服务器 与认证服务器进行互动,需要浏览器
    2. 简化模式 直接在浏览器向认证服务器申请令牌跳过授权码,所有步骤在浏览器完成,令牌对访问者是可见的,客户端不需要认证,需要浏览器
    3. 密码模式 用户向客户端提供用户名跟密码,客户端根据这些信息向服务器就索要授权,我们的密码给了客户端,但是客户端不存储密码
    4. 客户端模式 客户端以自己的名义,向服务端进行认证。


    1. 用户向客户提供用户名跟密码
    2. 客户端将用户名跟密码发给认证服务器,请求令牌
    3. 认证服务器给客户端提供访问令牌
    4. 用户使用访问令牌获取资源服务器
    5. 资源服务器去授权服务器验证令牌的有效性
    6. 资源服务器根据用户信息,处理请求等发送响应给客户端

  • 相关阅读:
    hdu2222 AC自动机入门
    bzoj1095: [ZJOI2007]Hide 捉迷藏 动态点分治学习
    【NOI2014】起床困难综合症 贪心
    bzoj1822: [JSOI2010]Frozen Nova 冷冻波网络流
    洛谷3767 膜法 带权并查集+分治
    NOI2015品酒大会 后缀数组
    NOI2015程序自动分析 并查集
    NOI2015软件包管理器 树剖线段树
    51nod1244 欧拉函数之和 杜教筛
    51nod1244 莫比乌斯函数之和 杜教筛
  • 原文地址:https://www.cnblogs.com/ingstyle/p/11663452.html
Copyright © 2020-2023  润新知