【发布时间】:2021-10-23 01:15:04
【问题描述】:
微软好像不会为个人账户发放JWT访问令牌。
在 Azure AD 中,我创建了一个“仅限个人 Microsoft 帐户”类型的应用注册。
我的 SPA 使用该应用注册,我可以针对它进行身份验证。
验证我的 SPA 后,会收到一个 id 令牌和一个访问令牌。
但访问令牌看起来不像 JsonWebToken。
AFAIK 访问令牌始终以字符“eyJ”开头,但从 Azure AD 发出的令牌以“EwC”开头,当我在 jwt.ms 上调试访问令牌时,控制台告诉我“指定的令牌无效:意外令牌” .
但只有当我选择帐户类型“仅限 Microsoft 个人帐户”时才会出现这种情况。
如果我使用“仅此组织目录中的帐户”类型,它就可以工作。
当我将无效令牌发送到我的 REST Api 时,我会收到带有标题 WWW-Authenticate: Bearer error="invalid_token" 的 401 响应。
该 api 配置为接受 JWT Bearer 令牌并使用相同的 Azure AD 应用注册。
使用颁发的令牌调用 OAuth userinfo enpoint 工作正常。
值得一提的是,我通过个人 Microsoft 帐户使用 Azure。
有没有办法通过个人 Microsoft 帐户获取 JWT 访问令牌?
【问题讨论】:
标签: oauth-2.0 azure-active-directory jwt access-token