2

我是 WebAPI 的新手,在深入研究之前,我想先保护 Web API 应用程序的安全。经过几天的研究,我发现了一种直截了当的方法。

查看这篇文章How to secure an ASP.NET Web API,我总体上了解它是如何工作的,而且它还有一个 github 源代码也很棒。(我发现的大多数答案只是描述了没有代码支持的通用概念)

我的问题是,您如何将这个“共享密钥”存储在服务器上,通常是用户的密码?我正在使用提供的成员资格提供程序做一个 ASP.NET MVC 4 应用程序,它用盐存储用户密码。

显然,盐值是每个用户随机生成的,最终用户不太可能知道他们的盐值是多少。

那么,你怎么办?

PS:我是否缺少一些处理此问题的知名框架?我知道 Microsoft 鼓励移动应用程序开发并希望开发人员创建新应用程序,但是当我什至无法轻松地为 Web API 构建身份验证时,我该怎么做呢?对不起,只是有点沮丧。

4

1 回答 1

0

HMAC 通常不用于对 API 的用户进行身份验证。它通常用于向 API 验证“可信”系统。示例:A 公司想要访问 B 公司的受保护 API,但不需要在用户级别进行身份验证。

在执行 HMAC 时,您需要在客户端和服务器上以明文形式提供共享密钥,以便两个系统可以创建完全相同的请求签名哈希。尽管您可能希望以加密格式存储共享机密,但它必须是双向(可逆)加密。

于 2013-06-20T01:36:19.503 回答