JSON Web Token
JSON Web Token
JSON Web Token(JWT)是一种紧凑格式,可用 JWS 或 JWE 保护并在不同系统间发送声明。JWT 只是格式,不是权限系统。
另一个例子
API 收到已签名的访问 JWT,只允许指定的算法、获取可信的签发者密钥,再检查 `iss`、`aud`、`exp`、`nbf`、`scope` 和令牌类型。它会拒绝 `alg:none`,也会拒绝发给其他服务的令牌。普通签名 JWT 可以被读取,并没有加密,所以不放个人信息。
主要部分
- 01受保护头
- 02声明集
- 03签名或加密结果
什么时候用
不同系统需要紧凑、自包含、受密码学保护的声明,而且能严格验证内容与过期时间时,可以使用 JWT。
什么时候不要用
不要在已签名 JWT 中放入秘密,也不要接受任意算法或密钥。没有撤销方式时不要发长期令牌;如果不透明会话更简单,就直接使用它。
代码里的名称
JOSE compact serialization + pinned alg/key + iss/aud/time/type validation 上线前要检查
检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。
预期结果:为这套系统设计或检查 JSON Web Token (JSON Web Token),并让数据保持正确、安全且容易维护。 用户场景:API 收到已签名的访问 JWT,只允许指定的算法、获取可信的签发者密钥,再检查 `iss`、`aud`、`exp`、`nbf`、`scope` 和令牌类型。它会拒绝 `alg:none`,也会拒绝发给其他服务的令牌。普通签名 JWT 可以被读取,并没有加密,所以不放个人信息。 技术概念或控制措施:JSON Web Token (JSON Web Token)。 适用理由:不同系统需要紧凑、自包含、受密码学保护的声明,而且能严格验证内容与过期时间时,可以使用 JWT。 不应使用的情况:不要在已签名 JWT 中放入秘密,也不要接受任意算法或密钥。没有撤销方式时不要发长期令牌;如果不透明会话更简单,就直接使用它。 工程要求:定义输入、输出、接口约定,以及任何情况下都不能破坏的规则。说明授权与输入检查范围。定义失败、超时、重试和重复执行只生效一次的规则。也要定义数据迁移与兼容限制。 运营要求:加入监控信号与隐藏敏感数据的日志。设置容量上限并写好操作手册。测试恢复与回到上一版的流程。 验收标准:接口约定与失败路径测试通过。重试或部分失败时,数据与授权规则仍正确。性能上限、监控、恢复与回到上一版的方法都已验证。 证据与限制(证据边界):标准只涵盖列出的范围,不会替你决定外观、产品做法或 Vibulary 的教学示例。 待确认:程序运行环境、数据位置、流量形态、数据一致需求和安全边界。也要确认兼容周期、服务目标(SLO)与恢复上一版的限制。
检查这份需求
请 AI 编程助手检查当前如何使用 JSON Web Token (JSON Web Token)。 定义:JSON Web Token(JWT)是一种紧凑格式,可用 JWS 或 JWE 保护并在不同系统间发送声明。JWT 只是格式,不是权限系统。 生产环境检查:检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。