2

我正在尝试学习如何将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,那么它可以工作,但是我丢失了用户数据。

感谢您的帮助!

4

1 回答 1

2

express-stormpath模块尚未设计用于 Angular 等单页应用程序。我们有一个为 Angular 设计的单独(测试版!)模块:stormpath-sdk-express

我们有一个详细的指南,解释了如何在 Angular 中使用该模块:

https://docs.stormpath.com/angularjs/guide/

注意:我们正在积极努力组合这些模块,因此未来的版本中我们会将所有功能组合为一个。

希望这可以帮助!

于 2015-07-20T22:37:58.173 回答