PKCE流程中Azure B2C令牌响应返回的额外属性作用是什么
Azure B2C 令牌端点返回字段说明
以下是你提到的几个字段的具体作用:
时效类字段(not_before、expires_in、expires_on)
虽然JWT令牌本身内部已经包含nbf(生效时间)、exp(过期时间)声明,但接口直接返回这三个字段是为了降低客户端的处理成本,不需要解码令牌就能直接获取时效信息,三个字段的具体作用如下:
not_before:Unix时间戳格式,标识令牌的最早生效时间。早于该时间点时,令牌不会被资源服务认可,该设计主要用于抵消不同服务器之间的时钟偏移误差,避免因服务端时间不同步导致的鉴权失败。expires_in:单位为秒的整数,标识令牌的有效时长,常规默认值为3600秒(1小时)。客户端可以直接用该值规划令牌预刷新逻辑,不需要做时间戳转换。expires_on:Unix时间戳格式,标识令牌的最终过期时间点。该值等于not_before+expires_in的计算结果,适用于不需要计算时长、直接判断时间点的鉴权场景。
微软专属字段(resource、profile_info)
这两个字段是Azure AD/B2C体系特有的扩展返回字段,用途如下:
resource:值为你申请令牌时指定的目标受保护资源的应用ID,属于早期Azure AD体系的遗留兼容字段,用于明确当前令牌的受众资源。你可以通过该字段校验返回的令牌是否匹配你请求的目标资源,避免令牌错用。profile_info:Base64编码的JSON字符串,解码后可获取用户核心身份标识信息,包括租户ID、用户对象ID、所用用户流ID、令牌版本等。该字段的设计目的是让客户端无需解码JWT令牌就能快速拿到用户的基础身份信息,降低轻量场景下的客户端开发成本。
内容的提问来源于stack exchange,提问作者Jakub Bochenski
相关产品推荐
相关产品推荐

