我正在构建一个允许用户登录或注册Azure B2C的Web API。我正在使用注册或登录政策,这会给我一个“忘记密码?”链接。点击此链接会给我一个 access_denied ,错误描述为 AADB2C90118 。
如何在我的网络API中处理此错误?
注意:我使用customized authentication UI作为登录/注册表单。
答案 0 :(得分:1)
请注意,这主要表明您的应用程序需要在发生此错误时进行重定向。不确定您希望API发挥什么样的作用。
具体查找您提到的错误代码AADB2C90118: https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/search?utf8=%E2%9C%93&q=AADB2C90118&type=
处理重置的控制器操作:
从那里取得一些代码:
var openIdConnectAuthenticationOptions = new OpenIdConnectOptions
{
[...]
Events = new OpenIdConnectEvents
{
OnRemoteFailure = context =>
{
[...]
// Handle the error that is raised when a user has requested to recover a password.
if (!string.IsNullOrEmpty(context.Failure.Message) &&
context.Failure.Message.Contains("access_denied") &&
context.Failure.Message.Contains("AADB2C90118"))
{
context.Response.Redirect($"/Account/RecoverPassword?ReturnUrl={context.HttpContext.Items["redirect_uri"]}");
context.HandleResponse();
}
和
{{1}}