【发布时间】:2014-02-10 22:41:13
【问题描述】:
使用基本身份验证,我在身份验证处理程序中执行此操作:
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
var authHeader = request.Headers.Authorization;
if (authHeader == null || authHeader.Scheme != BasicScheme)
{
return CreateUnauthorizedResponse();
}
// Now authenticate the user with his name+pw
// Return Auth token to user
}
每次这意味着第一个请求或所有后续请求,用户请求都将通过上述 SendAsnyc 方法。在上述方法中,我应该如何区分用户是第一次验证自己(使用用户名+密码)还是继续验证自己(让服务器生成身份验证令牌)?
【问题讨论】:
-
您在说什么“服务器生成的身份验证令牌”? HTTP Basic Auth. 中没有这样的东西
-
我知道...但是您如何在登录表单之后验证后续请求?将用户+密码存储在客户端并为每个请求发送?希望不会。
-
每个浏览器都是这样操作的……如果你不喜欢这样,不要使用基本的,而是消化的。
-
@CBroe ...仅当浏览器窗口打开时,凭据就会随 http 请求一起重新发送。当浏览器关闭并重新打开时,用户不想再次登录,因此是令牌。
标签: authentication asp.net-web-api token basic-authentication