我的webapp使用B2C进行身份验证。当我使用默认域(租户 .onmicrosoft.com)或简单的自定义域(sampledomain.com)注册我的应用程序时,一切正常。
我想使用子域进行身份验证(登录 .sampledomain.com),并为每个合作伙伴组织使用单独的子域名( partner1 .sampledomain.com,< em> partner2 .sampledomain.com),我已按照说明进行操作 https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-app-registration#limitations没有成功。
执行身份验证质询
var redirectUrl = "https://login.sampledomain.com/auth-callback";
HttpContext.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties { RedirectUri = redirectUrl })
错误消息显示我的子域的错误的值:
&#34; AADB2C90006:重定向URI 请求中提供的https://login.sampledomain.onmicrosoft.com/是 未注册客户&#34;
因此我已配置的子域名已登录。 sampledomain.com &#39;在B2C中显示的值不正确&#39;登录。 sampledomain.onmicrosoft.com &#39;。
我可以提供一些其他属性或配置设置,因此B2C不会操纵我的子域。
有没有其他人使用B2C自定义子域名,是否可能?
答案 0 :(得分:1)
目前支持身份验证 / 令牌的客户所有域不!所有身份验证/授权请求都应转至https://login.microsoftonline.com/ / oauth2 / [authorize | token]。您将使用Azure AD注册自己的域的事实不会改变这一事实。
已经有足够的投票和计划支持这些要求的想法:https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/15334317-customer-owned-domains
此外,您可以使用注释配置多个回复网址 - 所有回复网址都属于同一个根域:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-app-registration#limitations
答案 1 :(得分:-1)
正如评论中所建议的那样,我尝试更新了CallbackPath(原始值为&#39; /&#39;)但它没有起作用,发生了同样的错误。 我还仔细按照说明创建了一个新的应用程序注册,同样发生了同样的错误。
鉴于这些更改没有效果,B2C似乎从我的AAD租户名称导出错误的重定向网址而不是重定向网址请求或应用程序注册中的设置。
因此,我没有使用我的AAD租户名称为OAuth交换构建元数据地址,而是尝试了租户ID(GUID)。
也就是说,而不是在URL中使用租户名称
https://login.microsoftonline.com/tfp
的 /sampledomain.com/
强>
B2C_1_MySignInPolicy/v2.0/.well-known/openid-configuration
我在网址
https://login.microsoftonline.com/tfp
中使用了租户ID /1234abcd-1111-abcd-2222-abcd1234abdc/
B2C_1_MySignInPolicy/v2.0/.well-known/openid-configuration
请求中的redirectUri是https://login.sampledomain.com/
就像那样...... IT工作。没有更多redirect_uri_mismatch,AADB2C90006错误。
我仍然需要测试不同的自定义子域和策略类型,但我现在可以登录该应用程序。
这里仍有一些令人讨厌的反复试验,所以如果有人能分享有关正在发生的事情的信息,我希望能有更清晰的画面。