名称: jwt-handler 描述: 用于SDK身份验证的JWT创建、验证和管理 允许使用的工具:
- 读取
- 写入
- 编辑
- 全局搜索
- 文本搜索
- Bash
JWT处理技能
概述
本技能为SDK实现基于JWT的身份验证,包括令牌创建、验证、通过JWKS进行密钥轮换以及安全声明处理。
功能
- 使用多种算法生成和验证JWT
- 实现JWKS(JSON Web密钥集)密钥轮换
- 支持多种签名算法(RS256、ES256、EdDSA)
- 处理令牌声明验证和提取
- 配置令牌过期和刷新
- 实现受众和颁发者验证
- 支持嵌套JWT和JWE加密
- 处理时钟偏差容忍度
目标流程
- 身份验证和授权模式
- SDK架构设计
- 平台API网关设计
集成点
- jose库(node-jose、python-jose)
- 用于密钥分发的JWKS端点
- 身份提供者
- 令牌内省端点
- 密钥管理系统
输入要求
- 签名算法偏好
- 声明模式要求
- 密钥轮换策略
- 验证要求
- 令牌生命周期配置
输出成果
- JWT生成模块
- 令牌验证中间件
- JWKS端点实现
- 声明提取工具
- 密钥轮换自动化
- 令牌刷新处理
使用示例
技能:
名称: jwt-handler
上下文:
算法: RS256
颁发者: "https://api.example.com"
受众: "api用户"
过期时间: "1小时"
刷新过期时间: "7天"
jwks端点: "/.well-known/jwks.json"
密钥轮换:
启用: true
周期: "30天"
声明:
- 主题
- 邮箱
- 角色
最佳实践
- 使用非对称算法进行公共验证
- 通过JWKS实现密钥轮换
- 验证所有标准声明(颁发者、受众、过期时间)
- 适当处理时钟偏差
- 保持令牌负载最小化
- 切勿在JWT中存储敏感数据