Azure ad b2c Azure B2C基于组的访问控制不显示userMessage

Azure ad b2c Azure B2C基于组的访问控制不显示userMessage,azure-ad-b2c,identity-experience-framework,Azure Ad B2c,Identity Experience Framework,我一直在为B2C租户实施基于组的访问控制。 我已经设置了一个API钩子(POST),它接受用户的ObjectId,通过Graph API验证用户是否在允许的组中,并返回: 成功时200 OK 409不成功时的冲突 下面是使用409返回的对象: { "version": "1.0.0", "status": 409, "userMessage": "User is not authorized for t

我一直在为B2C租户实施基于组的访问控制。 我已经设置了一个API钩子(POST),它接受用户的ObjectId,通过Graph API验证用户是否在允许的组中,并返回:

  • 成功时200 OK
  • 409不成功时的冲突
下面是使用409返回的对象:

{
"version": "1.0.0",
"status": 409,
"userMessage": "User is not authorized for this application"
}
由于某些原因,此消息不会显示给用户,而是重定向到 {{B2cUrl}/#error=server_error&error_description=AADB2C%3a+用户+未被+授权+此+应用程序%0d%0a相关+ID%3a+…8%0d%0aTimestamp%3a+…%3a03%3a39Z%0d%0a&状态=

在我的用户体验中,我包括了以下内容

<OrchestrationStep Order="3" Type="ClaimsExchange">
   <ClaimsExchanges>
      <ClaimsExchange Id="RESTValidateProfile" TechnicalProfileReferenceId="REST-ValidateProfile" />
   </ClaimsExchanges>
</OrchestrationStep>


如何获取用户登录页面中显示的用户错误消息?

您需要从验证技术配置文件调用rest api技术配置文件。应根据自断言的技术配置文件(登录页面)配置验证技术配置文件,以便它可以向其返回错误


在其当前形式中,在提交页面并启动重定向后调用RESTAPI。因此,任何错误都会被发送回应用程序,因为当时没有呈现任何页面。

当前流是TrustFrameworkBase中的技术配置文件,扩展中的ValidationTechnicalProfile取决于应用程序。这意味着我无法将验证技术配置文件放置在扩展中已有的配置文件中。我怎样才能解决这个问题?你为什么不能?不符合你的描述。可能使用技术配置文件的名称,以便我能够理解上下文。抱歉,我将逐步介绍:在TrustFrameworkBase中,每个TrustFrameworkExtension中都有自断言的LocalAccountSignin电子邮件(取决于应用程序,共有6个),还有登录非交互式,用作验证技术配置文件。我的基于组的验证依赖于应用程序,因此需要放在TrustFrameworkExtensions中,但由于login Noninteractive已被用作验证配置文件,因此我无法将组验证REST ValidateProfile用作login Noninteractive中的验证配置文件您不会在login Noninteractive中调用它,您可以在SelfAsserted LocalAccountSignin电子邮件中将其称为验证技术配置文件。但是如果REST调用的逻辑也依赖于应用程序,那么您需要定义它并调用依赖于应用程序的扩展文件。您可以在每个依赖于应用程序的文件中添加对自断言LocalAccountSignin电子邮件的覆盖。感谢您的进一步解释。我现在让它工作了。