我正在用JS编写一个应用程序,使用Google Calendar API获取Google Calendar事件。我已经生成了一个API密钥和客户端ID --我需要做些什么来尝试和“保护”它们吗?他们的教程将它们直接放在JS文件(https://developers.google.com/calendar/quickstart/js)中,但是我进一步研究了开发文档(https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key),它告诉我不要将API键嵌入到code...but中,这可能只是为了支付API键?
我正在为一个课程编写这个迷你weeks应用程序,所以我只需要它工作大约6周。我通过GitHub页面托管它,当我推送代码时,它提醒我注意API键。
底线-将API key嵌入到JS代码中,并推送到github并公开可用,对我来说安全吗(这样我就可以只有一个前端并使用GitHub页面)?或者我需要采取一些预防措施?
提前感谢!
发布于 2020-01-27 22:47:05
Api密钥仅用于访问公共数据。例如,您可以使用它来访问Google Calendar公共假日日历。这就是说,是的,你应该保密你的应用程序接口密钥,而不是共享它,但是谷歌意识到这在像JavaScript这样的客户端语言中是不可能的,所以我从来没有听说过有人因为在JavaScript应用程序中使用它而导致他们的应用程序接口密钥泄露而陷入麻烦。
此警告主要表示您不应将其放入任何人都可以下载然后运行的GitHub开源存储库中。你必须指导人们如何创建他们自己的。
也就是说,如果您试图访问私有用户数据,那么您应该使用Oauth2来验证您的用户,并且由于需要重定向uri,您可以仅锁定到您的域。正如您所说的,您已经创建了一个客户端id,我怀疑您已经这样做了。如果你已经为oauth2添加了客户端id,javascript代码中的Apikey就不是必须的了。
https://stackoverflow.com/questions/59932725
复制相似问题