Node.js Stormpath用户信息

Node.js Stormpath用户信息,node.js,express,stormpath,Node.js,Express,Stormpath,好的,这是我的路由器代码,我试图访问用户帐户信息,当他们在主页上。到目前为止没有运气。。。我做错了什么 // Render the dashboard page. router.get('/home', function (req, res) { if (!req.user || req.user.status !== 'ENABLED') { return res.redirect('/login'); } console.log('User:', req.user.

好的,这是我的路由器代码,我试图访问用户帐户信息,当他们在主页上。到目前为止没有运气。。。我做错了什么

// Render the dashboard page.
router.get('/home', function (req, res) {
  if (!req.user || req.user.status !== 'ENABLED') {
    return res.redirect('/login');
  }



  console.log('User:', req.user.email, 'just accessed the /home page!');


  //user: req.user

  res.render('home', {
    title: 'Home',
    user:req.user.username
    }

  );


});

您的示例看起来是正确的,不过我会在render调用中分配整个user对象(现在您只是传递用户名)

所以如果你把它放在
routes/index.js

// Render the 'home' page if logged in and account is not disabled
router.get('/home', function (req, res) {
  if (!req.user || req.user.status !== 'ENABLED') {
    return res.redirect('/login');
  }

  res.render('home', {
    title: 'Home',
    user: req.user
  });

});
然后,
views/home.jade
中的视图如下所示:

html
  head
    title=title
  body
    p Hello, #{user.username}
问题(看起来)是您没有在路由上设置所需的登录中间件。您应该将函数签名修改为:

router.get('/home', stormpath.loginRequired, function(req, res) {
  ...
});

这将强制正确评估用户=)

Hi。您能否告诉我们您正在使用哪个Stormpath存储库,例如或?谢谢您好,这里是stormpath express示例。您能给我一个使用
router.get('/home',function(req,res)的示例吗{
和用户对象。我肯定少了一些小东西……你可以直接用
res.locals.user.username
访问用户名,所以你的
code
示例放在
app.js
文件中吗?因为我把我的原始代码放在
routes>>index.js
啊!我的错了,我显示了一个对于stormpath express来说就足够了,而不是stormpath express示例。我已经相应地更新了这个答案。因此CustomData。我遵循相同的原则,在记录时可以看到我的自定义数据…但是像其他人一样使用jade渲染它是不可能的。这就是我所拥有的:
res.render('home'),{title:'Home',user:req.user,cD:req.user.customData,})
嗯,我不知道用户只能通过登录才能到达此区域。我只是无法让stormpath返回任何用户数据。你必须拥有所需的登录信息,以便stormpath库检索该路线的用户详细信息。要发布你所有的应用程序代码吗?如果你愿意,也可以通过电子邮件发送给我:randall@stormpath.com