在web api 2中使用cookie进行认证
本文关键字:cookie 认证 web api | 更新日期: 2023-09-27 18:07:51
我正在使用Thinklecture库实现WebApi身份验证。它可以很好地使用url中的accesstoken,代码如下:
var config = new AuthenticationConfiguration();
// for testing
config.RequireSsl = false;
// security by user token
var handler = new SimpleSecurityTokenHandler("my access key", token =>
{
if (ObfuscatingComparer.IsEqual(token, "accesskey123"))
{
return new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
{
new Claim("customerid", "123")
}, "Custom"));
}
return null;
});
config.AddAccessKey(handler, AuthenticationOptions.ForQueryString("userToken"));
在这里,AuthenticationConfiguration是Thinklecture库的一部分。
我没有得到的工作是当尝试使用cookie与以下代码进行身份验证。我已经在fiddler中验证了cookie是正确发送的。
var handler2 = new SimpleSecurityTokenHandler("my access key", token =>
{
if (ObfuscatingComparer.IsEqual(token, "accesskey123"))
{
return new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
{
new Claim("customerid", "123")
}, "Custom"));
}
return null;
});
config.AddAccessKey(handler2, AuthenticationOptions.ForCookie("company.userToken"));
我用错了这个库吗?
未实现cookie选项