Heroku Node Express Stormpath 'Требуется идентификатор ключа API и секретный ключ'
Я следил за документами Heroku Stormpath, чтобы настроить простое приложение 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.
Я подготовил аддон Stormpath через Heroku, и при запуске heroku config
в терминале я вижу, что все переменные переданы в stormpath.init
доступны. Может кто-то просветить меня, что я делаю не так?
2 ответа
Если вы запускаете серверное приложение локально, я могу догадаться, что вы не создали переменные среды, поэтому попробуйте следующее:
$ 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.
Это для всех, кто придет для решения этой проблемы. Вы должны сослаться на шаги по началу работы, предоставляемые Stormpath!
Для express.js обратитесь к этому.
Это может быть то, что вы пропустили..
Установите переменные среды: 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