中国的Azure B2C-对本地帐户登录的自定义策略进行故障排除

时间:2019-09-17 04:51:30

标签: azure-ad-b2c azure-china

我正在尝试为中国地区的Azure B2C的注册/登录建立一个非常基本的自定义策略,我的问题是如何调试登录过程。

在仔细按照[1]的指示进行操作(并调整了中国的URL /租户ID,下面有更多详细信息)之后,我无法使用自定义策略signup_signin流成功登录。尽管为开箱即用的用户流使用相同的凭据,但每次尝试都会导致“无效的用户名或密码”。但是,通过此自定义策略进行的用户注册确实可以正常工作。

我专门针对中国所做的更改:

  • 租户ID(在所有文件中):<yourtenant>.onmicrosoft.com-> <yourtenant>.partner.onmschina.cn
  • 技术资料“ login-NonInteractive”元数据属性(TrustFrameworkBase.xml):
    • ProviderName:https://sts.chinacloudapi.cn/
    • 元数据:https://login.chinacloudapi.cn/<numeric tenant id>/.well-known/openid-configuration
    • authorization_endpoint:https://login.chinacloudapi.cn/<numeric tenant id>/oauth2/token
  • b2clogin值(在应用程序属性等适当的位置):   尝试过<yourtenant>.b2clogin.cn/<numeric tenant id><yourtenant>.b2clogin.cn/<yourtenant>.partner.onmschina.cn表格

我尝试过/仔细检查过的事情:

  • 在非中国Azure帐户中分别遵循所有指示-此功能按预期运行
  • 针对各种身份验证端点,通过许多不同的login.partner.microsoftonline.cn / login.chinacloudapi.cn / .b2clogin.cn /组合进行循环
  • 重新创建IdentityExperienceFramework和ProxyIdentityExperienceFramework应用
  • 根据需要,这些应用分别属于网络应用/本机类型
  • 这些应用程序是在AAD(不是B2C)刀片的旧版应用程序注册部分中创建的,但在B2C租户中创建的(在b2c-extensions-no-modify-this-app应用程序旁边)
  • 以全局管理员身份进行的所有门户网站操作
  • 代理应用有权访问其他应用
  • 已在选择权限后通过单击单独的按钮来“授予”权限
  • 应用程序ID位于TrustFrameworkExtensions文件中的正确客户端/资源位置
  • 应用程序ID实际上是应用程序ID,而不是对象ID
  • 自定义策略文件以正确的基本/扩展名/ reliingParty顺序上载
  • App Insights调试日志记录已打开-据我所知,Event:SELFASSERTED步骤Web.TPEngine.StateMachineHandlers.SelfAssertedMessageValidationHandler返回false,尽管处理程序结果的statebag属性包含似乎包含ID的验证响应令牌

我观察到直接来自[2]的LocalAccounts文件的这种行为,仅填充了模板值(即,没有对用户流的结构或其他内容进行任何更改,仅插入了应用程序ID,租户ID和China URL替换)。这个问题[3]描述了我遇到的相同问题,尽管那里概述的解决方案并未解决我的问题。

要达到这一目标,学习曲线非常艰难,我不确定下一步应该进一步调试该怎么做。

在中国,有没有人有使用AADB2C的经验或正在调试此类问题?

[1] https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-get-started-custom

[2] https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack

[3] Invalid usename or password when sigining local account with Azure AD B2C Custom Policy

1 个答案:

答案 0 :(得分:0)

您的中国租户不在中国,而是在北美。内置流使用公共云端点,而不是租户区域的端点。您发现这很困难,因为中国本地B2C租户未公开发布。

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-tenant-type#data-residency

相关问题