常见的登录鉴权方式
JWT
- 组成
header
json
{
"alg":"HS256" ,
"typ": "JWT"
}
payload
json
{
"sub": "2020-01-22" // 过期时间
"name": "xxx",
"role": "xx"
}
signature
bash
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
your-256-bit-secret
)
- 特点
- 防CSRF(主要防伪造请求,带上cookie)
- 适合移动应用
- 无状态,编码数据
- 优点
- 易扩展
- 支持移动设备,跨平台调用
- 安全
- 承载信息丰富
- 缺点
- 刷新和过期处理
- payload不易过大
- 中间人攻击
session cookie
优点 简单、易扩展
缺点
- 安全性低。
- 性能低,服务端存储。
- 多服务器同步session困难
- 跨平台困难
Oauth
- 优点
- 开放
- 安全
- 简单
- 权限指定
- 缺点
- 需要增加授权服务器
- 增加网络请求