【问题标题】:Best authentication way for .NET Web API + Static HTML + JS.NET Web API + 静态 HTML + JS 的最佳身份验证方式
【发布时间】:2013-04-13 05:46:22
【问题描述】:
我正在开发一个使用 REST .NET Web API 的 Web 应用程序。
我的 Web API 是无状态的,我使用的是静态 HTML 和 JQuery 请求。
问题....
进行登录/密码验证的最佳方法是什么?
申请流程:
- API XHR 请求
- API 响应状态为 401
- JS 重定向到登录页面
- API Authentication XHR 请求(带有登录名和密码)
- 带有令牌的 API 响应
- 新的 API XHR 请求(带有令牌)
- 带有数据的 API 响应
【问题讨论】:
标签:
asp.net
rest
authentication
asp.net-web-api
jqxhr
【解决方案1】:
我相信这里的答案是视情况而定;这实际上取决于您 API 背后的信息有多敏感。
如果我们谈论的是非常敏感的数据,我会实现模型Amazon uses
对于大多数网站,您所描述的内容都很好。我会使用 https 来提高安全性。您可以在 cookie 中或作为自定义标头传输您的加密令牌。
在您的 API 控制器中,您可以使用 [Authorize] 属性来限制对那些需要身份验证的端点的访问。
您可以公开处理所有请求并在令牌无效时以 401 响应的委托处理程序,或者设置当前主体以便满足 Authorize 属性。
如果您需要任何代码示例,请告诉我,我以前做过。