Azure AD B2C Интеграция с Restful API

Итак, я последовал за прохождением, как указано здесь.

Вот поток:

Пользователь вводит имя пользователя / пароль на странице политики SigInSignUp (предоставляемой Azure AD B2C) и перенаправляется в веб-API ASP.NET, который я написал для проверки бизнес-логики.

На этом этапе я хотел бы перенаправить на другие URL-адреса на основе флагов, которые я возвращаю как часть выходного утверждения. Как я могу этого достичь?

1 ответ

Я хотел бы перенаправить на разные URL-адреса на основе флагов, которые я возвращаю как часть выходной заявки.

зарегистрироваться для OnTicketReceived

builder.AddOpenIdConnect(options => {
    options.Events = new OpenIdConnectEvents {OnTicketReceived = OnTicketReceived };
});

Используйте обработчик событий, чтобы сделать что-то с ответом, например, перенаправить, или установить флаг, который будет прочитан позже.

private Task OnTicketReceived(TicketReceivedContext context)
{
    // set a flag for later. Maybe middleware?
    context.HttpContext.Items["DoSomething"] = true;

    // Or just handle the response completely

    if(context.Principal.HasClaim(claim => ...predicate about the claim... ))
    {
        context.Response.Clear();
        context.Response.Headers.Add("Location", "http://wherever.you.want.com");
        // tell the OpenIdConnect middleware we got this
        context.HandleResponse();
    }
    Debug.WriteLine(nameof(OnTicketReceived));
    //context.Principal = TransformClaims(context, context.Principal);
    return Task.CompletedTask;
}
Другие вопросы по тегам