stormpath帐户

时间:2015-07-15 15:31:56

标签: node.js express stormpath

我可以将一个JSON模板自动分配给Stormpath中每个新创建的用户的自定义数据字段吗?

目前我正在尝试将我的JSON模板复制到postRegistrationHandler函数中的account.customData,但我正在努力将其正确复制。

所以我有......

 postRegistrationHandler: function (account, req, res, next) {
    console.log('User:', account.email, 'just registered!');
    writeCustomDataToAccount(account, customDataBlank);
    next();
},

使用' customDataBlank'是服务器上的.json文件。然后......

var writeCustomDataToAccount = function (account, customData) {
account.getCustomData(function (err, data) {
    for (var field in customData) {
        data[field] = customData[field];
    }
    data.save();
});

}

这看起来合情合理吗?

修改 我现在能够比我现在更好地复制我的JSON但我的问题仍然存在 - 我可以将一个JSON模板自动分配给Stormpath中每个新创建的用户的自定义数据字段吗? / em>的

1 个答案:

答案 0 :(得分:0)

您的代码对我来说是正确的 - 我是express-stormpath库的作者。您的代码将在postRegistrationHandler中执行的操作会自动为每个新创建的用户存储一些自定义数据。

我确实注意到了一件事,但是如果你的文件在磁盘上,看起来你并没有在任何地方加载它。我要做的是:

app.use(stormpath.init(app, {
  postRegistrationHandler: function(account, req, res, next) {
    console.log('User:', account.email, 'just registered!');
    account.getCustomData(function(err, data) {
      if (err) return next(err);

      var dataToStore = require(customDataBlank); // this will load JSON from the file on disk
      for (var field in require(customDataBlank)) {
        data[field] = dataToStore[field];
      }
      data.save(function(err) {
        if (err) return next(err);
        next();
      });
    });
  },
}));