• 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 等技术集成,以实现更加灵活和安全的身份验证和授权流程。

  • 相关阅读:
    中间件漏洞 | Apache-SSI/任意命令执行
    Re 爬取数据
    基本数据类型和运算符(java)
    多线程获取官方汇率
    再战:软件项目导论
    产品经理入门学习(二):产品经理问题思考维度
    智慧医院智能导诊系统源码,智慧导诊小程序源码,采用前端框架:Uniapp+后端框架:springboot+移动端:微信小程序、H5自主研发
    搞懂索引,真的很重要
    Power BI 矩阵总计放表第一列
    关于SQL的返回行数top
  • 原文地址:https://blog.csdn.net/m0_65775063/article/details/133834210