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