我已经在包含API的项目上工作了一段时间。我有一个ApiUsersController
来处理API和另一个API控制器的所有用户操作。
但我需要确保这是安全的,因此我创建了一个apiKey()
函数,用于检测向我的API发送请求的用户是否具有正确的凭据。
我现在的问题是,我应该在哪里放置apiKey()
函数,以便在任何API控制器中使用它?
任何API安全建议也非常受欢迎。
提前谢谢!
答案 0 :(得分:1)
我现在的问题是我应该在哪里按顺序放置apiKey()函数 在任何Api控制器中使用它?
很容易回答,正确的地方是authentication adapter。 Ceeram已经为CakePHP创建了一个令牌(这就是你正在使用的)适配器。 See this link here
如果你想要一种更安全的方式,你应该按照Dave的建议去OAuth。但是我没有使用特定的OAuth插件,而是使用了Opauth for CakePHP,它附带了OAuth策略适配器。
另外,我不是创建API控制器,而是use prefix routing并且使用模型中的正常操作共享API操作的大部分代码。通过这种方式,它可以非常轻松地重复使用,无需重复工作。