我是JavaScript的新手。
我想要的帮助是了解如何保护用于访问我的Restful Web服务的API密钥。
我正在使用API密钥访问一些Restful Web服务,我希望这些API密钥受到保护。当我将API密钥放在控制器中时,它们将对用户可见,因为最终用户可以看到Javascript代码。
无论如何我可以将这些变量注册为一些变量并在控制器中使用,其中查看Javascript代码的最终用户无法看到API密钥?
提前致谢!
答案 0 :(得分:5)
如果您需要保护服务器上的任何内容。例如,您可以在服务器上代理api调用,但是您无法使用客户端javascript代码保护任何内容。
答案 1 :(得分:3)
你完全糊涂了。
您正在努力实现security by obscurity。 客户端上的所有内容都是透明可以破解的。
只有在成功进行身份验证和授权后才允许用户访问资源。周期。
所以你必须将API密钥存储在服务器上,如果它们应该是秘密的(如Facebook提供的那样......)
(顺便说一句:删除angularjs标签)。
答案 2 :(得分:-2)
我正在使用AngularJS和PlayFramework,似乎我可以解决这个问题,因为外部Web服务/ API是通过Play控制器访问的,其中控制器方法由AngularJS模型访问
jsRouter.controllers.Application.tasks().ajax
因此,外部API密钥不必位于AngujarJS模型中。
谢谢大家的帮助。