我正在构建一个与 StackOverflow 非常相似的 Web API提供。
但是在我的情况下,安全性很重要,因为数据是私有(private)的。
您向我推荐什么解决方案?
编辑 : 认证 != 加密
最佳答案
几乎每个公共(public) API 都通过为每个 Web 请求传递一个身份验证 token 来工作。
此 token 通常以两种方式之一分配。
首先,一些其他机制(通常登录到网站)将允许开发人员检索永久 token 以在其特定应用程序中使用。
另一种方法是根据请求提供临时 token 。通常,您有一个 web 方法,他们会在其中向您传递用户名/密码,然后您根据是否经过身份验证并授权执行任何 API 操作来返回有限使用 token 。
在开发人员获得 token 后,他们会将其作为参数传递给您公开的每个 Web 方法。您的方法将在执行操作之前首先验证 token 。
作为旁注,您对“安全性很重要”的评论显然不正确。如果是,那么您将通过 SSL 执行此操作。
在任何情况下,我什至都不会认为这是“最低限度的”安全性,因为它只会提供一种错误的信念,即您拥有任何类型的安全性。正如 Piskvor 所指出的,任何有一点兴趣的人都可以倾听或以某种方式打破这一点。
关于security - 如何在没有 SSL 的情况下接受 Web API 上的身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4509650/