@carecard/jwt- read (帮助)
通用JWT签名和注册索赔核实. 自定义主张不透明; 角色语义,请求上下文,应用程序所有权,认证-响应化名, 使用寿命属于自己的服务和应用程序.
已验证的令牌
jwtReadVerifiedToken(token, parsedJwks, requirements?) 返回页眉和有效载荷
只在签署、到期、签发和未确认之后。 无效
证书返回无效。 征召人的要求可以指定发行人,主题,受众
(字符串或列表),最大Ageseconds,并验证索赔。 调用定义
明确采用自定义要求政策;接受有效载荷必须真实返回.
没有应用程序的受众形状或十分钟的寿命默认值。 打电话的人 在核实其合同时,可能需要一个单一的字符串受众 需要一个。 格式错误的要求会提高类型Error.
const { jwtReadVerifiedToken } = require('@carecard/jwt-read');
const parts = jwtReadVerifiedToken(token, verificationJwks, {
issuer: 'issuer',
audience: 'receiver',
maximumAgeSeconds: 900,
validateClaims: payload => payload.custom === 'expected',
});
反省和运输
jwtReadIntrospectedToken(token, introspect, requirements?) 接受调用规范化
{ active: true, claims } 结果和适用同样的明确限制.
它在不推断服务响应领域的情况下保留了犬类习惯主张.
反省失败传播给主人.
jwtReadBearerToken(header) 接受一个完整的 HTTP 熊熊证书,
包括外白空间,并拒绝额外的单词或内部符号白空间.
jwtGetTokenDeadline(payload, maximumAgeSeconds?) 返回过期或
更早明确的最高年龄,没有商业政策默认。 无效的时间
返回无效. jwtIsTokenExpired(request, maximumAgeSeconds?) 检查当前时间 .
现有通用 jwtGetClientId, (中文(简体) ), jwtGetAgeInSeconds,以及 jwtIsExpired
帮助者披露标准对象/计时值. 它们没有赋予任何角色或特权.
特快要求的有效载荷类型只包含已登记和不透明的定制要求.
验证
运行 npm run test:All, (中文(简体) ), npm run lint,以及 npm run format:check。测试使用
公共软件包根和操作不透明索赔、可配置身份和
寿命,按键自转,犬形内入,输入错误,以及时间.
企业授权和测绘通过所有者-当地边界进行测试.
不可转让的测试令不规则:每一次测试必须独立通过之前或之后的测试,每一次执行指令的套房都必须通过. 每个测试必须建立它所需要的状态,隔离可变状态,并清理它拥有的状态;它绝不能依赖另一个测试的设置,突变,或清理. 默认测试,CI,和Husky命令必须使用测试框架的普通命令,不得强迫随机命令. 随机顺序执行只是一种明确的诊断,它所暴露出的每一出故障都必须被固定在根源上.
不可谈判的"根源-原因"解决方案规则:总是识别并解决已核实的根源,使用更强的解决方案,并给出正确,持久,生产质量的结果. 绝不将临时工作、资源增加、重试、压制、绕行或只表现的补丁视为补丁。 验证根-原因 固定真实失败的工作流程 并证明结束状态.
不可转让的TDD规则:总是先写出失败的测试,运行以确认它因预期原因失败,然后执行代码并重跑测试直到通过. 所有编码工作都需要测试驱动开发,不得跳过. 仅用于文档或技能编辑,运行相关的焦点非测试 更改道词前验证; 不添加检查的自动测试 出品人、文件或寄存器结构.
不可转让寄存器隔离规则:每个寄存器必须只使用寄存器内包含的文件,代码,定着物,依赖以及服务来运行其Husky钩和测试. 测试和Husky脚本不得导入,要求,阅读,执行,或以其他方式依赖寄存器根外的兄弟姐妹寄存器或路径. app-e2e-测试是唯一的例外,因为交叉存储端到端测试是其明确的责任.
不可转让错误和警告规则:从不压制,沉默,隐藏,降级,过滤,忽略,跳过,或绕过代码,测试,工具,编译器,linters,或验证错误或警告. 修补根源,再重新运行受影响的检查并需要干净的结果. 预期出错路径测试可能断言出错,但绝不能掩盖出乎意料的失败.
不可转让类型脚本类型规则: 永远不要使用类型脚本类型 any; 总是使用特定域类型、通用项目类型、现有项目类型,或 unknown 在所有类型Script- family文件中明确缩小(.ts, (中文(简体) ), .tsx, (中文(简体) ), .mts, (中文(简体) ), .cts,以及 .d.ts) (中文(简体) ).
非可转让代码组织规则:具有相同或等同行为的函数必须在整个CareCard寄存器中使用相同或明显对应的描述性名称,等同的功能必须活在每个寄存器既定架构中同名的文件中. 不允许向后兼容名称,别名,或重复位置.