Я пытаюсь использовать express-stormpath в своем приложении Heroku. Я следую за документы здесь, и мой код супер просто:Идентификатор ключа и секретный ключ apiKey требуется, даже если они есть в express-stormpath
var express = require('express');
var app = express();
var stormpath = require('express-stormpath');
app.use(stormpath.init(app, {
website: true
}));
app.on('stormpath.ready', function() {
app.listen(3000);
});
Я уже смотрел на this question и последовал за Heroku devcenter docs. Документы говорят, что для приложения Heroku необязательно передавать параметры, но я все же пытался использовать опции, и ничего не работает. Например, я попытался это:
app.use(stormpath.init(app, {
// client: {
// file: './xxx.properties'
// },
client: {
apiKey: {
file: './xxx.properties',
id: process.env.STORMPATH_API_KEY_ID || 'xxx',
secret: process.env.STORMPATH_API_KEY_SECRET || 'xxx'
}
},
application: {
href: 'https://api.stormpath.com/v1/applications/blah'
},
}));
Чтобы попробовать и посмотреть, что происходит, я добавил console.log строки в stormpath-config strategy valdiator для печати объекта клиента, и это дает мне это:
{ file: './apiKey-xxx.properties',
id: 'xxx',
secret: 'xxx' }
{ file: null, id: null, secret: null }
Error: API key ID and secret is required.
Почему он вызывает вызов дважды, а во второй раз, почему клиентский объект имеет нулевые значения для файла, id и secret?
Когда я бегу heroku config | grep STORMPATH
, я получаю
STORMPATH_API_KEY_ID: xxxx
STORMPATH_API_KEY_SECRET: xxxx
STORMPATH_URL: https://api.stormpath.com/v1/applications/[myappurl]
Что такое вывод 'heroku config | grep STORMPATH'? Возможно, что в Героку заселяются неправильные переменные среды. –
Редактированные переменные env выглядят правильно установленными, но ValidateClientConfigStrategy.js все еще печатает '{file: null, id: null, secret: null}' – arete
Можете ли вы попробовать использовать 'heroku config: set' ([docs] (https://devcenter.heroku.com/articles/config-vars#setting-up-config-vars-for-a-deployed-application)), чтобы вместо этого установить эти переменные среды: 'STORMPATH_CLIENT_APIKEY_ID',' STORMPATH_CLIENT_APIKEY_SECRET', 'STORMPATH_APPLICATION_HREF' –