问题描述
我一直在为B2C租户实施基于组的访问控制。 我已经设置了一个API挂钩(POST),该挂钩接受用户的ObjectId,并通过Graph API验证用户是否在允许的组中,并返回:
- 成功成功200次
- 409未成功时发生冲突
下面是返回409的对象:
{
"version": "1.0.0","status": 409,"userMessage": "User is not authorized for this application"
}
由于某些原因,此消息不会显示给用户,而是会重定向到 {{B2cUrl}} /#error = server_error&error_description = AADB2C%3a + User + is + not + author + for + this + application%0d%0aCorrelation + ID%3a + ... 8%0d%0aTimestamp%3a + ...% 3a03%3a39Z%0d%0a&state = ...
在我的用户旅程中,我加入了以下乐团
<orchestrationStep Order="3" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="RESTValidateProfile" TechnicalProfileReferenceId="REST-ValidateProfile" />
</ClaimsExchanges>
</orchestrationStep>
解决方法
您需要从验证技术资料中调用rest api技术资料。应当根据自我声明的技术配置文件(登录页面)配置验证技术配置文件,以便随后可以向其返回错误。
以当前形式,在提交页面并开始重定向后,将调用REST API。因此,任何错误都将被发送回应用程序,因为当时没有页面呈现。