在哪里存储 javascript 安全地发送网格 api 密钥?

Where to store javascript send grid api key safely?

在哪里存储 javascript 安全地发送网格 api 密钥?

我有一个 angular2 应用程序,想将 api 密钥存储在安全的地方。 我正在使用 firebase,没有像 c# 这样的服务器端代码。

如何在 angular js 中最好地做到这一点,而不需要有人在网上浏览源文件来标记它。

这是我当前的代码:

 sendGridTestEmail = () => {  
      //TODO - store this in safe place  
      var sendgrid_api_key = "";

      var sendgrid  = require('sendgrid')(sendgrid_api_key);

      sendgrid.send({
        to:       'test@gmail.com',
        from:     'support@gmail.com',
        subject:  'Hello Test',
        text:     'My first email through SendGrid.'
      }, function(err, json) {
        if (err) { return console.error(err); }
          console.log(json);
      });
  }

无法在客户端安全地存储任何私钥。

您可以 运行 服务器发送电子邮件并存储此 API 密钥。 AppEngine is one of the easiest ways to run a server with Firebase. AppEngine 上唯一支持的 Firebase 客户端是 Java 客户端。

您可以将 Firebase JVM 客户端与 SendGrid Java SDK 一起使用,并在 AppEngine 上运行它。

Here's a tutorial that takes you through the process. The tutorial does build an Android app, but you can use Android Studio for the Google Cloud tools.