我正在运行Stormpath Express Passport的此示例应用程序
https://github.com/stormpath/stormpath-passport-express-sample

我无法解决如何发布表单并保存customData甚至是默认数据(例如给定名称和姓氏)的问题。总的来说,如果我能得到一个HTML(Jade或EJS)示例,其中包含需要在app.jsindex.js中编写的行,我将不胜感激。我已经为此苦苦挣扎了四个晚上。

我已经尝试了Express,Stormpath的多个教程,但是没有一个可以与该示例应用程序一起使用。我总是不得不安装多个新模块,但是即使那样也没有任何作用。

如果来自Stormpath的人或真正有此经验的人能帮助我解决我的问题,并且也许也更新他们在网站上的教程,我将不胜感激,因为有些人似乎已经过时了。

最佳答案

我写了该文章和项目,同时也是express-stormpath(我们的新库,这使事情变得容易得多)的作者。

最简单的方法是在路由中(使用我们的通行证库),就像这样(请注意,您可能需要升级到最新版本的Node库才能完成此工作):

req.user.getCustomData(function(err, data) {
  data.someValue = 'blah';
  data.someOtherValue = {
    woot: 'hi',
    nope: 'there',
  };
  data.save(); // persist this data to Stormpath
  res.send('done!');
});


如果您使用的是Express库,则可以更轻松地完成此操作,下面是一个示例:

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

var app = express();
app.use(stormpath.init(app, {
  expandCustomData: true,
}));

app.get('/data', stormpath.loginRequired, function(req, res) {
  req.user.customData.color = 'black';
  req.user.save();
  res.send('stored data!');
});

app.listen(3000);

关于node.js - Stormpath Express Passport保存customData甚至默认数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27923911/

10-16 13:02