[译]Spring Security 和 JWT 入门

Spring Security 为 Java 应用程序提供了一套全面的安全功能,涵盖身份验证、授权、会话管理以及针对CSRF(跨站点请求伪造)等常见安全威胁的防护。Spring Security 框架具有高度可定制性,允许开发人员根据其应用程序需求来管理安全配置。它提供了一个灵活的架构,支持各种身份验证机制,如基本身份验证、JWT 和 OAuth。

More »

JWT

什么是 JWT?

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用程序之间安全地传输信息。它被设计用于在两方之间传输声明,这些声明可以是身份验证和授权信息,也可以是任何其他类型的信息。

设计目的:不需要服务器端存储状态,安全地传递非敏感信息。

JWT 特点

  • 可扩展性:可以在 payload 中携带任意的 JSON 数据
  • 自包含性:所有用户相关信息都在 JWT 中,不需要依赖数据库
  • 无状态性:服务器不需要保存会话状态,提高了系统的可扩展性
  • 跨域支持:可以跨域传递,因为是 JSON 格式
  • 安全性:通过签名确保数据不被篡改

JWT 组成

eyJraWQiOiJmYTNkZmZjMS0xZmQ3LTRhM2QtYTEyMC1mNjY4OWE4NDM5YjQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjbGllbnQiLCJhdWQiOiJjbGllbnQiLCJuYmYiOjE3MTc1NDk5NDMsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImV4cCI6MTcxNzU1MDI0MywiaWF0IjoxNzE3NTQ5OTQzLCJqdGkiOiJiMjU0ZGVhMi1kMWE2LTQxNzEtYjEyYy1lNmYzYzZjMDJkMGQifQ.eRiS0H2E-h5PiDEfJikjoPGH1DCqWVt4VIzLtPoSOaIK6jBIaw0h5m-reZVUyZPNYZG68Ymhey17aZBMveirqCxN-lNcPMIGfuqMptfsD9E6Hfam6bEMgpEAOQsQ6Ruk3vGtdmjnEC2h9ZStoqT5-C6JgArwFLGgX92LXrRYz7-60n0I6EAB07u9kxc6FQKLow90RiyXi2YLur-ttOUQpecf8zHi48zRc-HLLoWAMaNddT-4hg4v0Qts4DultpxZB_Xu7DRc91G_8M6sYFSvFSVFHlcWFgKNLZqUYwepLHX2LxoXdbTLGqV9x__-J8UO0TO3TkpC2BaZAiseYcpYMw

JWT 主要有以下三个部分通过 base64 加密组成:

More »

[译]Spring Security - JWT

简介和概述

JSON Web Token 或 JWT(更常见的名称)是一种开放的互联网标准 (RFC 7519),用于以紧凑的方式在各方之间安全地传输可信信息。令牌包含编码为 JSON 对象的声明,并使用私有密钥或公钥/私钥对进行数字签名。它们是独立且可验证的,因为它们经过数字签名。 JWT 可以进行签名和/或加密。

More »