me-*_*e-- 6 azure azure-ad-b2c
我正在尝试设置 AD B2C,并遵循我在网上找到的各种教程。我正在测试用户流程。我可以成功登录,但是当我重定向到 时https://jwt.ms,它什么也没显示:
但是,我注意到我的 URL 与教程中显示的不同。它有一个code而不是id_token:
https://jwt.ms/?code=eyJraW...
Run Code Online (Sandbox Code Playgroud)
我一直试图找出导致 B2C 使用代码而不是 ID 令牌进行重定向的原因,但没有成功。谁能告诉我为什么会发生这种情况?
更新
好的,我现在明白是什么原因造成的,但不太明白我的设置与我在教程中看到的设置有何不同。我发现,如果我在应用程序注册中启用隐式授权,如下所示:
然后一切都会按预期进行。请注意,我必须启用两者。
我还注意到,当我测试用户流时,这些隐式授权的状态决定了它是否具有response_type=code或response_type=id_token位于授权 URL 中:
response_type除了更改隐式授予的状态之外,似乎没有其他方法可以在测试用户流程 UI 中设置所需的值。也许这是自教程制作以来 Azure 门户中行为的变化……?
正如您所发现的,如果我们在 Azure AD 应用程序中设置隐式授予,用户流端点将生成response_type=id_token而不是response_type=code. 它是 Azure AD B2C 用户流的设计初衷。
如果我们不这样做,response_type=code则意味着它是授权代码流\xef\xbc\x8c 这就是为什么你会得到这个:https://jwt.ms/?code=eyJraW...。
我不确定您为什么要以其他方式更改response_type。这应该是最简单的。但如果你想手动更改,只需单击复制按钮,更改response_type值,然后在浏览器中访问它即可。
\n\n\n| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |