尝试使用自定义身份体验框架策略以Azure AD B2C用户身份登录时出现错误70001 [英] Error 70001 trying to sign in as Azure AD B2C user with custom Identity Experience Framework policy

本文介绍了尝试使用自定义身份体验框架策略以Azure AD B2C用户身份登录时出现错误70001的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个使用自定义身份体验框架策略保护Azure AD B2C的Web应用,以允许用户使用社交身份(Microsoft、Google、Facebook)注册和登录,或使用来自另一个联合Azure AD实例的身份,或使用‘本地’电子邮件/密码帐户。

所有社交帐户和联合广告都工作正常。注册并使用电子邮件/密码登录工作正常,但我们现在遇到错误。自从上次知道这是有效的以来,我们没有故意更改我们的电子邮件/密码配置,所以我们不确定这是如何发生的。

问题是:使用新的电子邮件地址注册可以正常工作,并且在该过程完成后,用户将正确登录,并且其帐户将出现在目录中。但是,如果用户注销,则重新登录的任何尝试都会失败:

(显示的电子邮件地址不是实际地址。具有新旧电子邮件/密码组合的多个用户重复了错误。)

深入门户,发现潜在错误如下:

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

此错误有时似乎与向门户中的应用程序授予权限失败有关。我们已尝试删除和恢复所有权限,并重新授予权限。这并没有解决问题。

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

更新:

只需确认我们已在AD目录中配置了IEF和代理IEF应用程序:

并且我们在TrustFrameworkExtensions.xml中配置了login-NonInteractive技术配置文件:

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

AADSTS70001:带标识的应用程序 在目录中找不到"ProxyIdentityExperienceFrameworkAppID" WeapageEng.onmicrosoft.com

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

解决方法: 根据下面的答案,有必要使用相关的应用程序ID来更新元数据和默认值。值得注意的是,在GitHub示例https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/3b4898fec3bf0014b320beffa6eb52ad68eb6111/SocialAndLocalAccounts/TrustFrameworkExtensions.xml#L38中,样板值的大小写不同,导致在全部替换中缺少一个:

推荐答案

本地帐户登录根据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

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

这篇关于尝试使用自定义身份体验框架策略以Azure AD B2C用户身份登录时出现错误70001的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆