热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

OAuth组件

OAuth组件OAuth协议概览OAuth事务中两个重要步骤是颁发令牌和使用令牌。一个规范的OAuth事务包含以下事件:资源拥有者希望客户端代表他执行一些操作客户端在授权服务器上向




OAuth组件

OAuth协议概览

OAuth事务中两个重要步骤是颁发令牌和使用令牌。一个规范的OAuth事务包含以下事件:


  • 资源拥有者希望客户端代表他执行一些操作
  • 客户端在授权服务器上向资源拥有者请求授权
  • 资源拥有者许可客户端的授权请求
  • 客户端接收来自授权服务器的令牌
  • 客户端向受保护资源出示令牌

OAuth2.0授权许可完整过程

.. image: ./img/授权码许可详细过程.png


OAuth中的角色:客户端、授权服务器、资源拥有者、受保护资源

OAuth客户端:


  • 代表资源拥有者访问受保护资源的软件,通过OAuth来获取访问权限。客户端不需要理解令牌

受保护资源:


  • 能通过HTTP服务器进行访问,在访问时需要OAuth访问令牌。受保护资源需要验证令牌,并决定是否需要响应以及如何响应请求

资源拥有者:


  • 有权将访问权限授权给客户端的主体

OAuth授权服务器:


  • 一个HTTP服务器,在OAuth系统中充当中央组件。授权服务器对资源拥有者和客户端进行身份认证,让资源拥有者向客户端授权、为客户端颁发令牌

OAuth的组件:令牌、权限范围、授权许可


访问令牌

令牌由授权服务器发送给客户端,表示客户端已被授予权限。OAuth不定义令牌本身的格式和内容,但他总代表着:客户端请求的访问权限、对客户端授权的资源拥有者、被授予的权限。客户端不需要理解令牌的内容,但授权服务器、受保护资源需要知道令牌的含义


权限范围

一组受保护资源的权限。OAuth协议中使用字符串表示权限范围,可以用空格分割的列表将它们合并为一个集合,因此权限范围的值不能包含空格,OAuth不规定权限范围的格式和结构


刷新令牌

授权服务器颁发给客户端的令牌,客户端不用关心令牌内容,客户端使用刷新令牌向授权服务器请求新的令牌,而不用用户参与。OAuth2.0提供了让令牌自动过期的选项,但我们需要让用户不在场的情况下仍然可以访问资源。这种方式以一种独立但互补的方式限制了刷行令牌和访问令牌的暴露范围


授权许可

授权许可是OAuth协议中的权限获取方法,OAuth客户端用它来访问受保护资源的权限,成功之后客户端会获得一个令牌



推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文详细介绍了解决全栈跨域问题的方法及步骤,包括添加权限、设置Access-Control-Allow-Origin、白名单等。通过这些操作,可以实现在不同服务器上的数据访问,并解决后台报错问题。同时,还提供了解决second页面访问数据的方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 本文介绍了关于Java异常的八大常见问题,包括异常管理的最佳做法、在try块中定义的变量不能用于catch或finally的原因以及为什么Double.parseDouble(null)和Integer.parseInt(null)会抛出不同的异常。同时指出这些问题是由于不同的开发人员开发所导致的,不值得过多思考。 ... [详细]
author-avatar
NANA-LS
这个家伙很懒,什么也没留下!
RankList | 热门文章