【问题标题】:OnValidateIdentity in OWIN Cookie authentication not called未调用 OWIN Cookie 身份验证中的 OnValidateIdentity
【发布时间】:2017-11-30 23:08:41
【问题描述】:

我正在使用 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-方法。

当我需要使用 GetOwinContext().Authentication.User 并且未填充 ClaimsPrincipal 时,这会导致稍后的处理出现问题。

这可能是什么原因?

【问题讨论】:

    标签: asp.net owin-security


    【解决方案1】:

    发现问题。 cookie 已过期。

    这是因为我也使用OpenIdConnect-middleware 使用相同的cookie。事实证明,如果您未在该配置中指定 UseTokenLifetime = false,它将使用 ID 令牌的到期作为 cookie 到期。

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2015-10-09
      • 2015-09-23
      • 2023-03-31
      • 2017-05-06
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多