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

时间:2015-12-24 11:12:06

标签: javascript email firebase angular sendgrid

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

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

如果没有人在网上浏览源文件,就可以在角度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);
      });
  }

1 个答案:

答案 0 :(得分:1)

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

您可以运行服务器来发送电子邮件并存储此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.