最后更新:
Click to expand / collapse
JWT(JSON Web Token)是用于许多API和微服务体系结构的现代授权和安全数据交换标准。我们实施对JWT的全面支持,以验证用户和服务、管理会话以及按角色划分访问权限。
JWT令牌存储在客户端上,无需在服务器上进行会话,并且订阅以确保真实性和防伪性。
包含JWT的内容
| 令牌中的字段 | 指定 |
|---|---|
| sub | 用户或服务标识符 |
| exp | 令牌动作结束时间 |
| roles / scopes | 用户角色和可用权限 |
| signature | 用于验证的数字签名 |
| custom claims | 任何其他数据:语言,大厅ID,货币等。 |
实现的特点
格式: 'header。payload.signature` (в base64)
签名算法: HS256(对称)和RS256(不对称)
refresh令牌和旋转支持
使用CORS、移动、Web和服务器到服务器客户端
在Cookie、localStorage或标题中存储令牌的能力
使用JWT的好处
Stateless: 无需服务器会话
方便移动、SPA和微服务
可扩展性-易于在多种服务上实现
客户端与API之间的快速数据交换
灵活性-您可以将授权所需的任何数据存储在令牌中
特别相关的地方
移动和前端应用
服务内授权(S2S)
具有大量并发用户的平台
需要清晰的基于角色的访问模式的系统