zoukankan      html  css  js  c++  java
  • OAuth2.0 工作流程

    重要术语
     
    Authorization Server:授权服务器,能够成功验证资源拥有者和获取授权,并在此之后分发令牌的服务器;
    Resource Server:资源服务器,存储用户的数据资源,能够接受和响应受保护资源请求的服务器;
    Client:客户端,获取授权和发送受保护资源请求的第三方应用;
    Resource Owner:资源拥有者,能够对受保护资源进行访问许可控制的实体;
    Protected Resource:受保护资源,能够使用OAuth请求获取的访问限制性资源;
    Authorization Code:授权码;
    Refresh Token:刷新令牌;
    Access Token:访问令牌。
     
    核心工作流程
    OAuth 为客户端提供了一种代表资源拥有者访问受保护资源的方法。在客户端访问受保护资源之前,它必须先从资源拥有者获取授权(访问许可),然后用访问许可交换访问令牌(Access Token,包含许可的作用域、持续时间和其它属性等信息)。客户端通过向资源服务器出示访问令牌来访问受保护资源。访问令牌提供了一个抽象层,将不同的授权结构(如用户名密码)替换成资源服务器可以理解的单一访问令牌。这种抽象使得分发短期有效的访问令牌成为可能,也使得资源服务器不必理解多种多样的授权机制。使用OAuth2.0 机制,进行认证授权,获取访问令牌,并通过访问令牌来访问受保护资源,如图所示:
     
     
    OAuth2.0 的工作流程简述如下:
    (1) 客户端从资源拥有者(最终用户)那里请
    求授权。授权请求能够直接发送给资源拥有者,或者
    间接的通过授权服务器发送请求;
    (2) 资源拥有者为客户端授权,给客户端发送一个
    访问许可(Authorization Code);
    (3) 客户端出示自己的私有证书(client_id 和
    client_secret)和上一步拿到的访问许可,来向授权服务
    器请求一个访问令牌;
    (4) 授权服务器验证客户端的私有证书和访问许
    可的有效性,如果验证有效,则向客户端发送一个访
    问令牌,访问令牌包括许可的作用域、有效时间和一
    些其他属性信息;
    (5) 客户端出示访问令牌向资源服务器请求
    受保护资源;
    (6) 资源服务器对访问令牌做出响应。
  • 相关阅读:
    spring中applicationContext.xml配置文件
    获取当前项目的名称
    文件上传
    bean工厂
    过滤器
    hibernate入门
    struts2入门案例
    第一个分派struts2实例
    mysql实用函数
    通过jquery 获取用户当前所在的城市名称和IP地址
  • 原文地址:https://www.cnblogs.com/cuihongwei1988/p/5333369.html
Copyright © 2011-2022 走看看