【问题标题】:OWIN Cookie AuthenticationOWIN Cookie 身份验证
【发布时间】:2023-04-05 21:29:01
【问题描述】:

我似乎无法让 OWIN 使用基于 Cookie 的身份验证。我在 Startup 中将我的 OWIN 令牌端点配置为:

OAuthOptions = new OAuthAuthorizationServerOptions
{
   TokenEndpointPath = new PathString("/Token"),
   Provider = new ApplicationOAuthProvider(PublicClientId),
   AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
   AllowInsecureHttp = true
};
app.UseOAuthBearerTokens(OAuthOptions);

我也配置了 Cookie 身份验证:

app.UseCookieAuthentication(new CookieAuthenticationOptions());

现在,当我点击/token 端点时,我得到了不记名令牌作为响应,并且在客户端也使用令牌设置了一个 cookie。

接下来我有一个用Authorize 属性装饰的控制器。当我尝试访问任何方法时,我都会收到 401 Unauthorized 响应,即使 cookie 是随请求一起发送的。似乎 OWIN 不尊重 cookie 进行身份验证。

我是否在这里遗漏了一些东西,可能是某种类型的配置?如果我使用不记名令牌设置授权标头,所有这一切都很好,但为什么它不能仅与 cookie 一起使用?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-web-api owin


    【解决方案1】:

    如果有人遇到同样的问题,在 WebApi Config 中,以下行忽略了 cookie 并查看了 Bearer Token。

    config.SuppressDefaultHostAuthentication();
    

    注释掉它使基于 cookie 的身份验证工作。

    【讨论】:

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