/spring-auth-demo

authentication and authorization demo for spring boot

Primary LanguageJava

认证和授权

authentication

http 请求是无状态的,需要一种机制来确认用户身份

本质都是后端生成一个凭证给前端, 后续请求携带这个凭证由后端校验 前端可以存储在 cookie, localStorage 后端可以存储在 http session 中

Cookie - Session

Java 中 web 容器

JWT

json web token

header

  • alg
  • typ payload
  • registered claims: predefined claims
    • iss: issuer
    • exp: expiration time
    • sub: subject
    • aud: audience
    • others
  • public claims
  • private claims: custom claims signature

两者核心都是 token 机制,但是 session 是有状态的,JWT 是无状态的

session 在服务器端保存了用户信息,而 JWT 在服务端没有保存任何信息。

authorization

对资源对保护 考虑要保护什么资源,如何保护这个资源