未调用Owin Cookie身份验证中的价值识别



我正在使用Owin Cookie身份验证中间件,并设置了一个自定义的OnValidateIdentity -METHOD,该方法应在所有需要认证的请求中调用。

我的设置看起来像这样:

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = "my-cookie",
            Provider = new CookieAuthenticationProvider()
            {
                OnValidateIdentity = async ctx =>
                {
                    // my own validation code
                }
            }
        }

我遇到的问题是,对于某些请求,OnValidateIdentity未调用。如果我多次击中同一受保护的Web API控制器,则某些请求不会调用OnValidateIdentity -Method。

当我需要使用GetOwinContext().Authentication.User并且ClaimsPrincipal没有填充时,这将导致处理后期的问题。

这样做的原因是什么?

找到了问题。饼干已过期。

这是因为我还使用同一cookie使用了OpenIdConnect -Middleware。事实证明,如果您不在该配置中指定UseTokenLifetime = false,它将使用ID令牌的到期作为cookie Expiry。

相关内容

  • 没有找到相关文章

最新更新