错误:没有默认帐户存储映射到指定的应用程序

时间:2016-09-08 19:12:44

标签: node.js express stormpath express-stormpath

我按照此处的文档:https://github.com/stormpath/express-stormpath

错误:没有默认帐户存储映射到指定的应用程序

当我尝试运行我的应用时,我在控制台中收到上述错误。这可能是我的代码的问题,还是我应该去Stormpath网站上的管理页面?

我使用windows命令setx来设置环境变量,如果我的app.js文件中有api密钥和密码,我不确定是否需要这样做。我删除了XXXXXXXX针对此问题的敏感信息。

var express = require('express');
var app = express();

//Stormpath
var stormpath = require('express-stormpath');

//Init Stormpath
app.use(stormpath.init(app, {

    apiKey: {id:'XXXXXXXXXX', secret: 'XXXXXXXXXX'},
    secretKey: 'random_string_of_words_go_here',
    application: 'https://api.stormpath.com/v1/accounts/XXXXXXXXX'

}));

//home:
app.get('/', function(req, res){
    res.render('home');
    console.log(req.session);
});

app.get('/create-quiz', stormpath.loginRequired, function(req, res){
    res.render('createQuiz');
});


//404 page:
app.use(function(req, res, next){
    res.status(404);
    res.render('404');
});

//500 page:
app.use(function(err, req, res, next){
    console.error(err.stack);
    res.status(500);
    res.render('500');
});

app.on('stormpath.ready', function () {
    console.log('Stormpath ready...')
});

app.listen(app.get('port'), function(){
    console.log('Express started on http://localhost: ' + app.get('port') + '; Press ctrl-C to terminate.')
});

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

是的!此错误很可能是因为管理控制台中的Stormpath应用程序配置。

每个应用程序都需要一个"目录"存储您的帐户,似乎您可能没有。

尝试登录Stormpath并添加"目录"将您的帐户存储在管理控制台中。如果您这样做,请尝试确保选中"默认帐户位置"。

这是我的样子。希望这有帮助!

stormpath applications page

(来源:我在Stormpath工作)