首页 文章

尝试使用自定义Identity Experience Framework策略以Azure AD B2C用户身份登录时出现错误70001

提问于
浏览
1

我们使用自定义身份体验框架策略使用Azure AD B2C保护Web应用程序,以允许用户注册和使用社交身份(Microsoft,Google,Facebook)或使用其他联合Azure AD实例的身份或使用“本地身份”登录'电子邮件/密码帐户 .

所有社交帐户和Federated AD都能正常工作 . 注册并使用电子邮件/密码登录正常,但我们现在遇到错误 . 我们没有故意对我们的电子邮件/密码配置进行任何更改,因为这是最后一次已知的工作,因此我们不确定这是如何发生的 .

问题是:使用新的电子邮件地址注册正常,并且在该过程完成后,用户已正确登录,并且他们的帐户将显示在目录中 . 但是,如果用户注销,则再次重新登录的任何尝试都将失败:
enter image description here

(显示的电子邮件地址不是实际的 . 多个用户使用新旧电子邮件/密码组合重复出现错误 . )

深入到门户网站,潜在的错误显示为:

70001在名为Y的租户中找不到名为X的应用程序 . 如果租户管理员尚未安装该应用程序或租户中的任何用户同意该应用程序,则会发生这种情况 . 您可能已将您的身份验证请求发送给错误的租户 .

此错误有时与未能向门户网站中的应用程序授予权限相关 . 我们已尝试删除并恢复所有权限,并重新授予权限 . 这还没有解决问题 .

有谁知道可能导致此问题的原因,特别是为什么注册/登录正常工作,但返回登录不?

UPDATE:

只是为了确认我们在AD目录中配置了IEF和Proxy IEF应用程序:
enter image description here

我们在TrustFrameworkExtensions.xml中配置了 login-NonInteractive 技术配置文件:
enter image description here

连接了Application Insights(按照这些说明https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-troubleshoot-custom),我们可以得到更详细的错误:

AADSTS70001:在目录weaponageengine.onmicrosoft.com中找不到具有标识符“ProxyIdentityExperienceFrameworkAppID”的应用程序

'ProxyIdentityExperienceFrameworkAppID'出现在我们的任何自定义策略中的唯一位置显示在上面的XML剪辑中,但根据此处的文档,这似乎是正确的:https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/3b4898fec3bf0014b320beffa6eb52ad68eb6111/SocialAndLocalAccounts/TrustFrameworkExtensions.xml#L38 - 除非我们还要更新那些'DefaultValue'属性?

Resolution: 根据下面的答案,有必要使用相关的应用ID更新元数据和默认值 . 值得注意的是,在GitHub示例https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/3b4898fec3bf0014b320beffa6eb52ad68eb6111/SocialAndLocalAccounts/TrustFrameworkExtensions.xml#L38中,样板值的设置不同,导致我们在替换中丢失了一个:

enter image description here

1 回答

  • 2

    本地帐户登录根据Azure AD B2C目录对最终用户进行身份验证,然后从中读取用户对象 .

    本地帐户注册和社交帐户登录不会根据Azure AD B2C目录对最终用户进行身份验证 . 本地帐户注册将用户对象写入其中 . 社交帐户登录将身份验证委派给社交身份提供程序,然后在用户对象不存在时将用户对象写入Azure AD B2C目录,或者如果用户对象确实存在则从Azure AD B2C目录中读取用户对象 .

    若要通过针对Azure AD B2C目录的本地帐户登录启用最终用户身份验证,您必须add the Identity Experience Framework applications to the Azure AD B2C directory,然后configure these IEF applications with the login-NonInteractive technical profile .

    本地帐户注册和社交帐户登录不需要这些应用程序 .

相关问题