Azure B2C 登录 - 颁发者 URL 无法正确解析以进行 Web 访问



我正在使用Azure B2C对本机Xamarin表单应用程序进行身份验证。使用正确的 b2clogin.com 域返回访问令牌,这一切都可以完美运行

当我尝试使用 Postman 返回令牌时,如果我使用 b2clogin - 它不起作用 - 只有 login.microsoftonline.com

在对此感到困惑了一段时间后,我查看了Fiddler,并注意到提交时URL已更改

仅当我将域从一个域切换到另一个域时,才会发生这种情况

这会引导我看到颁发者 URL,该 URL 是在为 AAD 中的应用服务启用 B2C 身份验证时设置的,并且它是为 b2clogin 配置的,而不是为 live.microsoftonline.com

另一个问题是 microsoftonline 域返回一个令牌,但不返回一个将使用我的受保护应用程序进行身份验证的令牌

我正在使用邮递员返回适用于我的应用程序的令牌。如上所述,它没有

当我在Fiddler中查看时,我作为权威传入的URL,在Postman中看起来像这样

https://mydomainb2c.b2clogin.com/{租户域名}/oauth2/v2.0/authorize?p=B2C_1_SiUpIn

已转换为此

https://mydomainb2c.b2clogin.com/B2C_1_SiUpIn/{租户域名}/oauth2/v2.0/authorize?

如您所见,它已采用策略并将其放在URL中的其他位置

这只发生在b2clogin - 而不是微软在线

如上所述,发布的URL是错误的,因此Postman的效果是不断重新加载页面,该页面永远不会到达登录名

我想到了使用Fiddler来深入研究错误消息

问题是,使用 login.microsoftonline.com 时,您将获得一个不适用于b2clogin目录的令牌

切换到B2C登录目录时,一定要仔细检查回调网址

这就是我的问题 - 我不得不将来自我注册的本机应用程序的对 URL 的回复代替通常的邮递员或通常在那里的微软 oauth URL

最新更新