api cakephp 休息认证

Posted

技术标签:

【中文标题】api cakephp 休息认证【英文标题】:api cakephp rest authentication 【发布时间】:2012-11-12 19:36:37 【问题描述】:

我不确定我目前使用 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 吗?

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

【问题讨论】:

您能否说明您想要实现的目标? 使用我的rest api的用户名和密码进行身份验证,仅根据他们所属的组授予权限,但我读了多少都没关系,我只是不知道最好的方法是什么 【参考方案1】:

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

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

【讨论】:

以上是关于api cakephp 休息认证的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 3.x JWT 认证服务器

CakePHP 3 REST API + CORS 请求和选项方法

php [cakephp:API组件和控制器]用于ajax请求和Server-Sent事件的Cake模块。 #cakephp

用于CakePHP的googleajax库API处理程序

PHP CakePHP的Google Ajax Libraries API处理程序

使用 Cakephp-jwt-auth [CakePHP 3] 过期后颁发新令牌