因此,我正在开展一个项目,我将向特定的业务合作伙伴提供信息。由于业务合作伙伴的前端必须将预先分配的apiKey
以及任何请求传递给我的REST API,因此无需登录。 api仅响应包含有效apiKey
的请求,并且在生成apiKey时已经预定义了其访问级别。
目前,我正在使用带有curl
的CakePHP,传递REST请求方法,以及使用硬编码的apiKey
作为参数。到目前为止,安全性还没有成为问题。但是我们的团队正在考虑,如果我们的业务合作伙伴希望他们的网站能够在最近流行的JS前端框架工作中完成,例如AngularJS。
对于相同的场景,这样一个简单的任务无法在JS框架中完成。我显然不能简单地向他们提供客户端秘密(apiKey
)并让他们将其包含在客户端代码中。任何人都可以查看秘密并访问我们的REST API。
现在我们谈论安全性,我的团队真的不太了解。有什么方法可以解决这个问题?如何安全,模糊地传递客户端密钥以及来自AngularJS的http请求?任何建议或任何人都可以指出我可以研究的东西吗?
虽然我有一些想法,但他们听起来不太正确。
答案 0 :(得分:1)
有不同的选择
前两个将需要初始身份验证请求,您将获得一个令牌,该令牌将在以后的每个请求中传递给您的站点。
您可以创建代理,该网站会调用代理,然后再调用真实API并添加您的API密钥。