我正在努力学习如何使用stormpath和express。我有一个fullstack角度/节点项目,我用自耕农和angular-fullstack生成器生成。我登录,注册并忘记密码工作。但是当我想在我的一条路线上添加限制因此它只适用于登录用户时,它不会让任何人通过。
我在服务器上的app.js中初始化stormpath,如下所示:
var stormpath = require('express-stormpath');
app.use(stormpath.init(app, {
apiKeyId: 'XXXXXXXXXXXXXXXXXXX',
apiKeySecret: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
application: 'https://api.stormpath.com/v1/applications/XXXXXXXXXXXXXXXXXXX',
secretKey: 'XXXXXXXXXXXXXXXXXXX',
expandCustomData: true,
enableForgotPassword: true
}));
我的api index.js文件中的路由如下所示:
var express = require('express');
var stormpath = require('express-stormpath');
var router = express.Router();
router.post('/:id/vote', stormpath.loginRequired, function(req, res){
console.log("User clicked vote button!");
console.log("User e-mail: "+res.user.email);
});
我遇到的问题是,当我呼叫邮政路线时,我根本没有记录。我在网站上登录但似乎它不允许我访问该路线。如果我删除stormpath.loginRequired,那么它可以工作,但后来我错过了用户数据。
感谢您的帮助!
答案 0 :(得分:2)
express-stormpath模块尚未设计用于Angular等单页应用程序。我们有一个单独的(beta!)模块,专为Angular设计:stormpath-sdk-express
我们有详细的指南,解释了如何将该模块与Angular一起使用:
https://docs.stormpath.com/angularjs/guide/
注意:我们正在积极地合并这些模块,因此将来会有一个版本将所有功能合并为一个。
希望这有帮助!