gpt4 book ai didi

php - 如何安全地将 apiKey/客户端密码从 AngularJS 传递到 REST API

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:24 25 4
gpt4 key购买 nike

所以我正在进行一个项目,我将向特定的业务合作伙伴提供信息源。不需要登录,因为业务合作伙伴的前端必须将预分配的 apiKey 连同任何请求传递给 my REST API。该 api 仅响应包含有效 apiKey 的请求,并且其访问级别已在我们生成 apiKey 时预定义。

目前我正在使用 CakePHP,使用 curl,传递 REST 请求方法,并将硬编码的 apiKey 作为参数。到目前为止,安全还不是问题。但是我们的团队在想,如果我们的业务合作伙伴希望他们的网站使用最近流行的 JS 前端框架工作(例如 AngularJS)来完成怎么办。

同样的场景,这么简单的任务,用JS框架是做不到的。我显然不能简单地给他们客户端密码 (apiKey) 并让他们将其包含在他们的客户端代码中。任何人都可以查看 secret 并访问我们的 REST API。

现在我们谈论的是安全性,我的团队对此知之甚少。克服这个问题的方法是什么?如何安全、隐蔽地传递来自 AngularJS 的 client secret 和 http 请求?任何建议或任何人都可以指出我可以研究的东西吗?

虽然我有一些想法,但它们听起来不太正确。

  • 我将把 AngularJS 放在 CakePHP 的 webroot 中。不过,那将是一个非常肮脏的 hack...只是引入不必要的复杂性。
  • 结合 Origin Domain/IP/Public Secret 和时间戳等约束生成散列,在我的 API 端,我比较散列并为每个请求返回一个访问 token 。 . 类似的东西...

最佳答案

有不同的选择

前两个需要初始身份验证请求,您将获得一个 token ,该 token 将在以后对您网站的每个请求中传递。

您可以创建一个代理,该站点调用该代理,然后该代理再次调用真实的 API 并添加您的 API key 。

关于php - 如何安全地将 apiKey/客户端密码从 AngularJS 传递到 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30154191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com