我已准备好启动使用YouTube V3 API的Angular / Node网络应用程序。该应用程序在大约3周前发布为测试版"用于市场验证,并且在测试中非常成功。它不会取得商业上的成功,只是一个有趣的应用程序,让人们的生活更轻松一点。我有一个问题/疑虑,我应该隐藏我的YouTube V3 API密钥,客户端ID和范围吗?或者我可以假设,因为只有我的域名被列入白名单,潜在的黑客/尝试使用API密钥的人,无法拨打任何电话或造成任何损害,因此我无需担心?
这些是我担心的特定电话(不是真正的ids /键)
Index.html脚本标记
var OAUTH2_CLIENT_ID ='_#H#RJHWEJFHEFUIEHFUHEFHEJFU.apps.googleusercontent.com';
var OAUTH2_SCOPES = ['https://www.googleapis.com/auth/youtube'];
在Angular中,Controller.js
.value('google_api_key', 'jfasdkjfdnstnewurweqjtndi')
gapi.client.setApiKey(google_api_key);
答案 0 :(得分:3)
对于Simple Access到Google API,API密钥是请求所需的唯一凭据,它是您的应用/项目的唯一标识符。它提供API访问权限并受配额限制。
你应该保守秘密!
如果您有一个仅限客户端的应用程序(没有服务器),请使用OAuth 2.0 Client-side Flow
安全使用API密钥的最佳做法:
在应用程序中使用API密钥时,请注意保护它们的安全。公开泄露您的凭据可能会导致您的帐户遭到入侵,这可能会导致您的帐户产生意外费用。要确保API密钥安全,请遵循以下最佳做法:
请勿直接在代码中嵌入API密钥
嵌入代码中的API密钥可能会意外地暴露给公众 - 例如,如果您忘记从共享的代码中删除密钥。您可以将它们存储在环境变量或应用程序源树之外的文件中,而不是将API密钥嵌入到应用程序中。
不要将API密钥存储在应用程序的源代码树中的文件中
如果将API密钥存储在文件中,请将文件保留在应用程序的源代码树之外,以帮助确保密钥不会在源代码控制系统中结束。如果您使用公共源代码管理系统(如GitHub),这一点尤其重要。
限制您的API密钥仅供IP地址,引荐来源网址和需要它们的移动应用使用
通过限制可以使用每个密钥的IP地址,引荐来源网址和移动应用,您可以减少受损API密钥的影响。您可以通过打开“凭据”页面,然后使用所需设置创建新的API密钥,或者编辑API密钥的设置,指定可以使用Google Developers Console中每个密钥的主机和应用。
< / LI>删除不需要的API密钥
要最大限度地减少您的攻击风险,请删除不再需要的任何API密钥。
定期重新生成API密钥
您可以通过打开“凭据”页面并单击每个键的“重新生成密钥”,从Google Developers Console重新生成API密钥。然后,更新您的应用程序以使用新生成的密钥。生成替换密钥后,旧密钥将继续工作24小时。
在公开发布之前检查您的代码
在公开提供代码之前,请确保您的代码不包含API密钥或任何其他隐私信息。