3

我不确定我目前正在使用 CakePHP 开发的 REST API 采用哪种方式,我还没有实现身份验证,直到现在我几乎完成了它,我正在阅读它,

但我不确定我应该做什么,这个 API 将被公开,以便网页和移动应用程序可以使用它,但我不认为 Basic auth 或 Digest auth(作为 CakePHP 中的默认选项)是选项,

我只知道我需要它来检查数据库中的用户名和密码,并根据已经设置的 ACL 授予权限,我正在阅读有关 HMAC 的内容但不完全理解,我是否应该自己制定身份验证方法做类似检查令牌之类的事情?这篇文章正确吗?:http ://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/

如果是这样,我如何将这些原则实现到 CakePHP auth 方法?是否有使用 HMAC 的这种身份验证方法的插件?

我应该使用 OAuth 2.0 吗?使用 OAuth 2.0 进行用户名和密码登录是否有意义?我也迷路了吗?如果我没有那么迷路,你能描述一下如何在 cakephp 中使用用户名和密码实现 OAuth 吗?

有人,拜托,任何浏览这个互联网论坛的人,帮助我。如果您能提供示例或工作流程等任何内容,我们将不胜感激。

4

1 回答 1

0

您需要多少安全性?由于通常从具有密钥的客户端应用程序访问 API,因此通常可以将凭据与每个 (https) 请求一起发送(作为 POST 参数,因此它们将被加密)。至少,这是迄今为止最简单的解决方案:您只需检查每个请求的凭据,无需任何会话、令牌等。如果凭据有效,则检查现在经过身份验证的“用户”是否有权访问请求的资源。

请记住,更高级的身份验证/授权方法在开发和管理中很快变得复杂。如果您在实施此类系统方面没有任何经验,那么您很可能会因实施错误/问题而放弃可能的安全收益。

于 2012-11-13T15:56:04.990 回答