首先,更重要的是;SSL, SSL SSL
这是一个非常简单的步骤,即使是主要网站都错过了,但它非常重要(即使 SSL 存在许多当前难以利用的缺陷)。
您可以使用 webapi 进行几乎任何类型的身份验证;基本身份验证;证书; 你可以看看使用 OAUTH 风格的身份验证(注意我说的是风格,因为规范的定义很松散,它提供了几乎每一个选项和多种实现方式)。
首先,我将 WebApi 视为一种选择;你考虑过别的吗?例如http://www.servicestack.net/它包含一系列的身份验证适配器https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization
其次,了解您的身份验证内容及其身份验证内容(私人数据/上传/访问某些内容)会很有帮助;为了得到一个包含“足够安全”的答案。
“可以”使用表单身份验证,并且假设您的客户端不是基于浏览器的,您可以通过服务返回登录名并使用您需要在使用期间保留在某种上下文中的表单身份验证令牌进行响应来实现此目的;假设一旦软件完成使用 api 就设置了超时,那么用户下次必须再次登录才能重用它。
就 web api / JS-Html 前端而言;引用我自己的话。
作为一个 JS 应用程序,它可能值得快速浏览一下与 JS 相关的 owasp 前 10 名
http://erlend.oftedal.no/blog/?blogid=125
A1 - Injection
A2 - Cross Site Scripting (XSS)
A3 - Broken Authentication and Session Management
A4 - Insecure Direct Object References
A5 - Cross Site Request Forgery (CSRF)
A6 - Security Misconfiguration
A7 - Insecure Cryptographic Storage
A8 - Failure to Restrict URL Access
A9 - Insufficient Transport Layer Protection
A10 - Unvalidated Redirects and Forwards
这里有一篇关于为 WebApi 创建自定义授权过滤器的好帖子http://www.west-wind.com/weblog/posts/2013/Apr/18/A-WebAPI-Basic-Authentication-Authorization-Filter (how-to /带代码)