YouTube API密钥安全 - 我应该多担心?

时间:2015-02-18 19:04:24

标签: javascript angularjs youtube api-key

我已准备好启动使用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);

1 个答案:

答案 0 :(得分:3)

对于Simple Access到Google API,API密钥是请求所需的唯一凭据,它是您的应用/项目的唯一标识符。它提供API访问权限并受配额限制。

你应该保守秘密!

如果您有一个仅限客户端的应用程序(没有服务器),请使用OAuth 2.0 Client-side Flow

From Google's Documentation

  

安全使用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密钥或任何其他隐私信息。

  •