【问题标题】:Heroku Node Express Stormpath 'API key ID and secret is required'Heroku Node Express Stormpath '需要 API 密钥 ID 和密码'
【发布时间】:2015-10-14 15:18:31
【问题描述】:

我一直在关注Heroku Stormpath docs 来设置一个简单的 Express 应用程序。我的 server.js 文件中的代码如下所示:

'use strict';

var express = require('express');
var pg = require('pg');
var stormpath = require('express-stormpath');
var app = express();

app.use(express.static('public'));


app.use(stormpath.init(app, {
  apiKeyFile: '/.stormpath/apiKey.properties',
  apiKeyId:     process.env.STORMPATH_API_KEY_ID,
  apiKeySecret: process.env.STORMPATH_API_KEY_SECRET,
  secretKey:    process.env.STORMPATH_SECRET_KEY,
  application:  process.env.STORMPATH_URL,
}));

app.set('port', (process.env.PORT || 5000));

app.listen(app.get('port'), function(){
  console.log('Node app is running on port', app.get('port'));
});

请原谅我是 Stormpath 的新手。我也查看了 Express-Stormpath 文档,但在本地运行应用程序时仍然收到以下错误:

Node app is running on port 5000
events.js:141
  throw er; // Unhandled 'error' event
  ^

Error: API key ID and secret is required.

我已经通过 Heroku 配置了 Stormpath 插件,当在终端中运行 heroku config 时,我看到传递给 stormpath.init 的所有变量都可用。有人可以告诉我我做错了什么吗?

【问题讨论】:

  • 您遇到的错误是关于在本地或 heroku 机器上运行您的应用程序?
  • @WilsonB​​alderrama 我在本地运行应用程序。我更新了帖子以反映这一关键细节。
  • 您使用的是哪个版本的 express-stormpath 库?我们最近发布了一个新版本,它使用了新的配置选项。您正在使用旧配置选项。
  • 来自Cody:这个github issue 表明他们改变了启动客户端的工作方式。 express 模块可能存在类似问题。
  • @rdegges 我正在使用 express-stormpath v2.0.11。能否请您指出更新的配置文档?

标签: node.js express heroku stormpath express-stormpath


【解决方案1】:

如果你在本地运行你的服务器应用程序,我猜你没有创建环境变量,所以试试这个:

$ STORMPATH_API_KEY_ID=123 STORMPATH_API_KEY_SECRET=secret STORMPATH_SECRET_KEY=secret STORMPATH_URL=url node app.js

或者您可以设置风暴值,只要它们为空,就像您的情况一样:

app.use(stormpath.init(app, {
  apiKeyFile: '/.stormpath/apiKey.properties',
  apiKeyId:     process.env.STORMPATH_API_KEY_ID || 'key',
  apiKeySecret: process.env.STORMPATH_API_KEY_SECRET || 'secret',
  secretKey:    process.env.STORMPATH_SECRET_KEY || 'key',
  application:  process.env.STORMPATH_URL || 'url'
}));

在任何一种情况下,都从你的 heroku 插件中提供你真正的风暴路径值。

【讨论】:

  • 我以前试过这个,在你的建议下又试了一次。但是,我仍然遇到完全相同的错误。
【解决方案2】:

这是为寻求解决此问题的任何人准备的。您应该参考Getting started steps provided by Stormpath

对于 express.js,请参阅 this

这可能是你错过的......

设置环境变量:UNIX

    export STORMPATH_CLIENT_APIKEY_ID=5EFMBEN6N34AU36ENEEGJ9YLY
    export STORMPATH_CLIENT_APIKEY_SECRET=iII3MZPC2hJC/yuOXMjaa0/0GcgyeApfPVvWyNmMR1c
    export STORMPATH_APPLICATION_HREF=https://api.stormpath.com/v1/applications/7F0kZw0wqcFBNh1dDbWMiU

设置环境变量:WINDOWS

    set STORMPATH_CLIENT_APIKEY_ID=5EFMBEN6N34AU36ENEEGJ9YLY
    set STORMPATH_CLIENT_APIKEY_SECRET=iII3MZPC2hJC/yuOXMjaa0/0GcgyeApfPVvWyNmMR1c
    set STORMPATH_APPLICATION_HREF=https://api.stormpath.com/v1/applications/7F0kZw0wqcFBNh1dDbWMiU

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2014-07-29
    相关资源
    最近更新 更多