如何获取JWT格式的Refresh Token以满足AAD认证OIDC库解码需求
如何在Azure AD (AAD/Microsoft Entra ID) 中获取JWT格式的Refresh Token
Azure AD 默认发放的Refresh Token为不透明引用令牌,没有公开可解码的结构化内容,仅AAD自身可验证其有效性,属于默认的安全设计。
要获取JWT格式的Refresh Token,可按以下步骤操作:
- 首先确认你的应用使用的是 Microsoft Entra ID v2.0 认证端点,v1.0端点不支持发放JWT格式的Refresh Token。
- 登录Azure Portal,进入对应应用的「应用注册」页面,打开「令牌配置」选项卡。
- 点击「添加可选声明」,选择令牌类型为「Refresh Token」,在声明列表中勾选对应选项后保存配置。
- 调整你的授权请求参数,满足以下要求:
- scope参数必须包含
offline_access权限,这是获取Refresh Token的必要前提,同时要包含你要访问的目标API对应的权限范围 - 如果你访问的是自定义API,需要在请求中明确指定目标API的资源标识符
- scope参数必须包含
- 注意两类场景目前暂不支持JWT格式Refresh Token:使用个人微软账户(MSA)登录的场景、Entra ID B2C租户下的用户认证场景,上述场景仍仅发放不透明Refresh Token。
注意事项
- 拿到JWT格式Refresh Token后,你可以使用标准OIDC JWT库解码其Header和Payload内容,但签名验证仍需通过Entra ID公开的JWKS公钥完成,不要直接信任未验证签名的令牌内容。
- JWT格式Refresh Token的过期策略、轮换规则和默认不透明Refresh Token完全一致,不会改变原有刷新令牌的安全机制。
内容的提问来源于stack exchange,提问作者Sushmita Das
相关产品推荐
相关产品推荐

