我正在尝试学习如何将stormpath与express一起使用。我有一个用 yeoman 和 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);
});
我遇到的问题是,当我调用 post 路由时,我根本没有得到任何日志。我已登录该站点,但似乎它不允许我访问该路线。如果我删除了stormpath.loginRequired,那么它可以工作,但是我丢失了用户数据。
感谢您的帮助!