• OAuth2.0、和jwt、spring security之间的区别和联系


    OAuth2.0的概念

    OAuth 2.0开放授权,OAuth 2.0 是一种授权框架,用于授权第三方应用程序访问用户资源而无需共享用户的凭据。它为用户提供了更好的隐私和安全性,并允许用户对授权进行细粒度的控制,颁发的token是第三方应用程序颁发的token,当然如果是第一方的服务,都是由第一放颁发token,可以采用密码模式

    OAuth2.0的四种角色

    • 资源所有者 (Resource Owner):可以指拥有资源的用户
    • 客户端 (Client):可以理解为第三方系统/软件
    • 授权服务器 (Authorization Server):权限校验和授权系统(认证服务中心)
    • 资源服务器 (Resource Server):受保护的资源,用户在系统上所具有的资源/或者能够访问的资源

    OAuth 2.0 通过授权服务器颁发访问令牌 (Access Token),该令牌用于访问受保护的资源服务器上的资源

    OAuth2.0的四种授权模式 

    授权码模式

    授权服务器将授权码(AuthorizationCode)转经浏览器发送给client,客户端拿着授权码向授权服务器索要访问access_token,这种模式是四种模式中最安全的一种模式。一般用于Web服务器端应用或第三方的原生App调用资源服务的时候

    密码模式

    资源拥有者将用户名、密码发送给客户端,客户端拿着资源拥有者的用户名、密码向授权服务器请求令牌(access_token),密码模式使用较多,适应于第一方的单页面应用以及第一方的原生App

    客户端模式

    客户端向授权服务器发送自己的身份信息,并请求令牌(access_token),确认客户端身份无误后,将令牌(access_token)发送给client,这种模式是最方便但最不安全的模式。因此这就要求我们对client完全的信任,而client本身也是安全的。因此这种模式一般用来提供给我们完全信任的服务器端服务

    简化模式

    资源拥有者打开客户端,客户端要求资源拥有者给予授权,它将浏览器被重定向到授权服务器,授权服务器将授权码将令牌(access_token)以Hash的形式存放在重定向uri的fargment中发送给浏览器

    更详细的介绍请移步:OAuth2.0四种授权模式

    JWT(JSon Web Token)

    JWT 是一种基于 JSON 的开放标准 (RFC 7519),用于在各方之间安全地传输信息。JWT 包含了经过数字签名或加密的 JSON 对象,可以安全地在各个系统之间传递。JWT 的格式由三部分组成:头部 (Header)、载荷 (Payload) 和签名 (Signature)。它可以用于验证和确定发送方的身份以及传输的数据是否被篡改

    spring security

    Spring Security 是一个用于在 Java 应用程序中处理身份验证和授权的强大框架。它提供了一套全面的安全特性,用于保护应用程序免受各种安全威胁,并支持各种身份验证和授权机制。Spring Security 可以与 OAuth 2.0 和 JWT 等技术集成,以实现更加灵活和安全的身份验证和授权流程。

  • 相关阅读:
    hive笔记(十):企业级调优-执行计划/本地模式/表的优化/合理的map、reduce数/并行执行/严格模式
    基于JSP的私人牙科医院管理系统【数据库设计、源码、开题报告】
    AWS S3
    rabbitMQ学习笔记
    C++11右值引用的价值体现
    tuxera NTFS2022让磁盘读写管理格式化更轻松
    Linux-基本指令03
    基于ssm的图书馆绘本馆的设计与开发-计算机毕业设计源码
    如何定位el-tree中的树节点当父元素滚动时如何定位子元素
    ESP8266发送WOL幻数据包实现电脑远程唤醒
  • 原文地址:https://blog.csdn.net/m0_65775063/article/details/133834210