2014-12-03 201 views
0

我似乎无法让OWIN使用基于Cookie的身份验证。我已经在启动配置我OWIN令牌端点:OWIN Cookie身份验证

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属性。当我尝试访问任何方法时,即使cookie与请求一起发送,我也会收到401未经授权的响应。看起来OWIN没有遵守用于认证的cookie。

我在这里错过了一些东西,可能是某种类型的配置?如果我将授权标头设置为不记名令牌,但为什么它不适用于cookie,所有这些都很好用?

回答

3

如果有人遇到相同的问题,在WebApi配置中,以下行忽略了Cookie并查看了无标记令牌。

config.SuppressDefaultHostAuthentication(); 

评论它使基于cookie的认证工作。