Ich versuche, Express-stormpath auf meiner Heroku App zu verwenden. Ich verfolge die Dokumentation hier, und mein Code ist super einfach:apiKey Schlüssel ID und Geheimnis ist erforderlich, obwohl sie dort in Express-stormpath sind
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);
});
ich schon bei this question sah und folgte dem Heroku devcenter docs. Die Dokumente sagen, dass es für eine Heroku-App nicht notwendig ist, Optionen zu übergeben, aber ich habe immer noch versucht, Optionen zu übergeben und nichts funktioniert. Zum Beispiel habe ich das versucht:
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'
},
}));
Um zu versuchen und sehen, was los ist, habe ich eine console.log Linie zum stormpath-config strategy valdiator das Client-Objekt zu drucken, und es gibt mir diese:
{ file: './apiKey-xxx.properties',
id: 'xxx',
secret: 'xxx' }
{ file: null, id: null, secret: null }
Error: API key ID and secret is required.
Warum wird es zweimal aufgerufen, und beim zweiten Mal, warum hat das Client-Objekt Null-Werte für die Datei, ID und Geheimnis?
Als ich heroku config | grep STORMPATH
laufen, bekomme ich
STORMPATH_API_KEY_ID: xxxx
STORMPATH_API_KEY_SECRET: xxxx
STORMPATH_URL: https://api.stormpath.com/v1/applications/[myappurl]
Was ist die Ausgabe von 'heroku config | grep STORMPATH'? Es kann sein, dass die falschen Umgebungsvariablen in Heroku aufgefüllt werden. –
Edited - env-Variablen sehen korrekt aus, aber ValidateClientConfigStrategy.js druckt noch '{file: null, id: null, secret: null}' – arete
Können Sie versuchen, 'heroku config: set' ([docs] (https://devcenter.heroku.com/articles/config-vars#setting-up-config-vars-for-a-deployed-application)), um diese Umgebungsvariablen stattdessen zu setzen: 'STORMPATH_CLIENT_APIKEY_ID',' STORMPATH_CLIENT_APIKEY_SECRET', 'STORMPATH_APPLICATION_HREF' –