如何从AngularJS安全地将apiKey /客户端密钥传递给REST API

贾斯汀·莫(Justin Moh)

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

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

对于同一场景,无法在JS框架中完成这样一个简单的任务。我显然不能简单地给他们提供客户端机密(apiKey)并将其包含在客户端代码中。任何人都可以查看机密并有权访问我们的REST API。

现在,我们谈论的是安全性,我的团队对此并不了解。有什么方法可以解决这个问题?如何安全,晦涩地客户端机密与AngularJS的http请求一起传递有什么建议或者有人指出我可以研究的东西吗?

虽然我有一些想法,但听起来似乎不太对劲。

  • 我将AngularJS放在CakePHP的webroot中。但是,那将是一个非常肮脏的黑客……只是引入不必要的复杂性。
  • 结合原始域/ IP /公钥和时间戳等约束条件生成哈希,在我的API端,我比较哈希并为每个请求返回访问令牌……类似...
Burzum

有不同的选择

前两个需要初始身份验证请求,您将获得令牌,令牌将在以后的每个请求中传递到您的站点。

您可以创建一个代理,站点会调用该代理,然后再对真实的API进行调用并添加您的API密钥。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 API 客户端将参数传递给 vue-head?

来自分类Dev

如何安全地将 api 密钥添加到 dockerized Shiny App?

来自分类Dev

如何使客户端的移动IP地址的Android API密钥?

来自分类Dev

如何在客户端Javascript中隐藏API密钥

来自分类Dev

如何使客户端的移动IP地址的Android API密钥?

来自分类Dev

如何安全地存储api密钥,模板文件

来自分类Dev

将 Azure 移动客户端用于 Rest API

来自分类Dev

如何向客户端公开 REST api 微服务?

来自分类Dev

如何从AngularJS网站安全地连接到Web API

来自分类Dev

如何通过返回Task <Type>的Web API控制器的HttpPost异步方法将错误消息传递给客户端?

来自分类Dev

如何为PHP的Google API客户端库生成API /开发人员密钥

来自分类Dev

Google API:如何发现现有API密钥的客户端机密?

来自分类Dev

如何为PHP的Google API客户端库生成API /开发人员密钥

来自分类Dev

如何从客户端安全地发送密码?

来自分类Dev

如何从客户端安全地写入 Firebase?

来自分类Dev

在客户端JavaScript中使用Flickr API密钥是否安全?

来自分类Dev

将handlebarss变量传递给客户端js文件

来自分类Dev

将客户端功能传递给celery任务

来自分类Dev

节点Js将文件传递给客户端

来自分类Dev

将客户端功能传递给celery任务

来自分类Dev

将127.0.0.1传递给RPC客户端

来自分类Dev

将客户端ID传递给后面的代码

来自分类Dev

将变量传递给sqldatasource Select命令客户端

来自分类Dev

Socket.io将数组传递给客户端

来自分类Dev

使用 ajax 将客户端 JSON 传递给后端

来自分类Dev

如何在pageInfo中将总数传递给客户端

来自分类Dev

如何安全地(通过适当的身份验证)与客户端上的第三方API通信?

来自分类Dev

如何使用Rails安全地存储Google Api密钥并在脚本中使用它们?

来自分类Dev

如何将Windows身份验证凭据从客户端传递到Web API服务

Related 相关文章

  1. 1

    如何使用 API 客户端将参数传递给 vue-head?

  2. 2

    如何安全地将 api 密钥添加到 dockerized Shiny App?

  3. 3

    如何使客户端的移动IP地址的Android API密钥?

  4. 4

    如何在客户端Javascript中隐藏API密钥

  5. 5

    如何使客户端的移动IP地址的Android API密钥?

  6. 6

    如何安全地存储api密钥,模板文件

  7. 7

    将 Azure 移动客户端用于 Rest API

  8. 8

    如何向客户端公开 REST api 微服务?

  9. 9

    如何从AngularJS网站安全地连接到Web API

  10. 10

    如何通过返回Task <Type>的Web API控制器的HttpPost异步方法将错误消息传递给客户端?

  11. 11

    如何为PHP的Google API客户端库生成API /开发人员密钥

  12. 12

    Google API:如何发现现有API密钥的客户端机密?

  13. 13

    如何为PHP的Google API客户端库生成API /开发人员密钥

  14. 14

    如何从客户端安全地发送密码?

  15. 15

    如何从客户端安全地写入 Firebase?

  16. 16

    在客户端JavaScript中使用Flickr API密钥是否安全?

  17. 17

    将handlebarss变量传递给客户端js文件

  18. 18

    将客户端功能传递给celery任务

  19. 19

    节点Js将文件传递给客户端

  20. 20

    将客户端功能传递给celery任务

  21. 21

    将127.0.0.1传递给RPC客户端

  22. 22

    将客户端ID传递给后面的代码

  23. 23

    将变量传递给sqldatasource Select命令客户端

  24. 24

    Socket.io将数组传递给客户端

  25. 25

    使用 ajax 将客户端 JSON 传递给后端

  26. 26

    如何在pageInfo中将总数传递给客户端

  27. 27

    如何安全地(通过适当的身份验证)与客户端上的第三方API通信?

  28. 28

    如何使用Rails安全地存储Google Api密钥并在脚本中使用它们?

  29. 29

    如何将Windows身份验证凭据从客户端传递到Web API服务

热门标签

归档