.NET Web API +静态HTML + JS的最佳身份验证方式

时间:2013-04-04 02:57:06

标签: asp.net rest authentication asp.net-web-api jqxhr

我正在开发一个使用REST .NET Web API的Web应用程序。 我的Web API是无状态的,我正在使用静态HTML和JQuery请求。

问题.... 登录/密码验证的最佳方法是什么?

申请流程:

  1. API XHR请求
  2. 状态为401的API响应
  3. JS重定向到登录页面
  4. API身份验证XHR请求(使用登录名和密码)
  5. 带令牌的API响应
  6. 新的API XHR请求(带令牌)
  7. 带数据的API响应

1 个答案:

答案 0 :(得分:1)

我相信这里的答案是取决于;这实际上取决于API背后的信息有多敏感。

如果我们谈论的是非常敏感的数据,我会实施模型Amazon uses

对于大多数网站而言,您所描述的内容都很好。我会使用https来提高安全性。您可以在cookie中或作为自定义标头传输加密的令牌。

在API控制器中,您可以使用[Authorize]属性来限制对需要身份验证的端点的访问。

您可以公开处理所有请求的委托处理程序,如果令牌无效,则使用401响应,或者设置当前主体以便可以满足Authorize属性。

如果您需要任何代码示例,请告诉我,我之前已经这样做了。