1

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

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

我专门为中国改变的事情:

  • 租户 ID(在所有文件中):<yourtenant>.onmicrosoft.com-><yourtenant>.partner.onmschina.cn
  • 技术配置文件“login-NonInteractive”元数据属性 (TrustFrameworkBase.xml):
    • 提供者名称:https://sts.chinacloudapi.cn/
    • 元数据:https://login.chinacloudapi.cn/<numeric tenant id>/.well-known/openid-configuration
    • 授权端点: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 / etc 的许多组合,用于各种身份验证端点
  • 重新创建 IdentityExperienceFramework 和 ProxyIdentityExperienceFramework 应用程序
  • 根据需要,应用程序分别属于 web 应用程序/本机类型
  • 应用程序是在 AAD(不是 B2C)刀片的旧应用程序注册部分中创建的,但在 B2C 租户中(在 b2c-extensions-don't-modify-this-app 应用程序旁边)
  • 作为全局管理员进行的所有门户操作
  • 代理应用程序有权访问其他应用程序
  • 权限已通过选择后的单独按钮单击“授予”
  • 应用程序 ID 位于 TrustFrameworkExtensions 文件中的正确客户端/资源位置
  • 应用 ID 实际上是应用 ID 而不是对象 ID
  • 自定义策略文件以正确的 base/extensions/relyingParty 顺序上传
  • App Insights 调试日志记录已打开 - 据我所知,Event:SELFASSERTED 步骤 Web.TPEngine.StateMachineHandlers.SelfAssertedMessageValidationHandler 返回 false,尽管处理程序结果的 statebag 属性包含似乎包含 ID 令牌的验证响应

我直接从 [2] 中观察到 LocalAccounts 文件的这种行为,只填充了模板值(即没有更改用户流的结构或任何东西,只是插入应用程序 ID、租户 ID 和中国 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]使用 Azure AD B2C 自定义策略为本地帐户签名时用户名或密码无效

4

1 回答 1

0

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

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

于 2019-09-20T18:36:07.047 回答