首页 文章

OWIN Cookie身份验证

提问于
浏览
0

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

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 endpoints 时,我得到响应中的承载令牌,并且还在客户端使用令牌设置了cookie .

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

我在这里遗漏了一些东西,可能是某种类型的配置?如果我使用bearer token设置Authorization标头,但为什么它只能用于cookie?

1 回答

  • 3

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

    config.SuppressDefaultHostAuthentication();
    

    评论它使基于cookie的身份验证工作 .

相关问题