首页 > 解决方案 > 将 OpenId Connect 与 ASP.NET MVC 5 一起使用:在请求中设置状态参数时未调用 AuthorizationCodeReceived

问题描述

我正在使用code流程在 ASP.NET MVC 5(不是 ASP.NET Core)中使用 OpenId Connect。一切正常,AuthorizationCodeReceived处理程序按预期调用,然后应用程序被重定向到指定的redirect_uri. 问题是当我state在请求中包含参数时,RedirectToIdentityProvider不会AuthorizationCodeReceived调用处理程序,但应用程序被重定向到redirect_uricode作为请求参数获取的位置。

RedirectToIdentityProvider = c =>
{
    c.ProtocolMessage.State = Guid.NewGuid().ToString();
    return Task.CompletedTask;
}

这意味着交换code令牌及其验证必须在redirect_uri

有谁知道这种行为以及导致它的原因?

谢谢

标签: asp.net-mvcopenid-connect

解决方案


推荐阅读