我正在使用 Azure B2C 对本机 Xamarin 表单应用程序进行身份验证。使用正确的 b2clogin.com 域返回访问令牌,这一切都可以完美运行
当我尝试使用 Postman 返回令牌时,如果我使用 b2clogin 则它不起作用 - 仅 login.microsoftonline.com
在对此感到困惑一段时间后,我查看了 Fiddler 并注意到提交时 URL 已更改
仅当我将域从一个切换到另一个时才会发生这种情况
这将引导我访问在 AAD 中为应用服务启用 B2C 身份验证时设置的颁发者 URL,并且它是为 b2clogin 而不是为 live.microsoftonline.com 配置的
另一个问题是 microsoftonline 域返回一个令牌,但不是一个将通过我的受保护应用程序进行身份验证的令牌
我正在使用 Postman 返回一个适用于我的应用程序的令牌。不是,如上所述
当我查看 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 - 不是 microsoftonline
如上所述,发布的 URL 完全是错误的,因此 Postman 中的效果是不断重新加载页面,永远无法登录