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;
}