【发布时间】:2015-12-08 14:04:53
【问题描述】:
在构建了一个相当简单的 API 之后,我开始研究身份验证,其中仅使用用户名/密码组合的 SSL 上的基本 HTTP 身份验证对于使用它的人来说可能看起来很弱,尽管这里的各种讨论表明它应该没问题。
在这种情况下,我从类似的解决方案中研究了 API,这些解决方案为他们的用户提供了用户 ID 和 API 密钥。问题是我根本看不出这有多强。我假设密钥仍然与密码一样保存,从我的角度来看,它看起来就像他们将密码称为密钥。
例子:
&api_key=hiperz_api_key&gs_id=3873 参数如何提供比用户名密码更进一步的安全性?我肯定想实现比用户/通过基本 HTTP 身份验证更强大的东西,并为最终用户提供某种类型的令牌/密钥以用于访问,但我看不到这些方法的额外优势。
【问题讨论】:
-
为什么不使用摘要式身份验证?
-
我在所有阅读中都没有遇到过这个问题。一切似乎都暗示了真正的身份验证安全性的哈希、密钥、秘密等,我的头脑在旋转。摘要比http basic auth更合适吗?
-
如果您想在请求开始时而不是在 SSL 连接建立后进行身份验证,那么是的,您需要摘要。
-
@Anthony,我不认为摘要式身份验证是一个很好的选择。它基于过时的哈希算法 (MD5),仍然需要客户端知道用户名和密码。
标签: php authentication basic-authentication http-authentication api-key