Azure AD B2C Интеграция с Restful API - PullRequest
0 голосов
/ 18 мая 2018

Итак, я выполнил пошаговое руководство, как указано здесь .

Вот поток:

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

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

1 Ответ

0 голосов
/ 04 июня 2018

Я хотел бы перенаправить на разные 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...