【发布时间】: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