如何在nuxt

时间:2018-09-17 17:21:14

标签: node.js express steam nuxt

在nuxt上有一个现成的站点。我正在寻找一种实现授权的方法。我使用express.js steam-login找到了用于授权的包,一切正常..现在如何路由/login / logout等开始工作,以及如何在渲染时在nuxt中使用有关用户的接收数据?我尝试了中间件,但没有任何反应。谢谢。

有获取数据的示例

app.use(steam.middleware({
realm: 'http://localhost:3000/', 
verify: 'http://localhost:3000/verify',
apiKey: "api key"}));

app.get('/authenticate', steam.authenticate(), function(req, res) {
res.redirect('/');});

,在那里我们可以使用nuxt构建器,我没有找到将数据传输到nuxt并在模板中使用它的方法。和溃败nuxt重叠溃败表达

const nuxt = new Nuxt()
nuxt.build()
  .then(() => {  
    app.use(nuxt.render)
    app.listen(3000)})

1 个答案:

答案 0 :(得分:1)

解决了serverMiddleware的问题。

在nuxt.config中添加了新的custum中间件

serverMiddleware: [
   '~/api/index'
]

app.use(require('express-session')({resave:false,saveUninitialized:false,secret:'a secret'}));

app.use(steam.middleware({
   realm: 'http://localhost:3000/', 
   verify: 'http://localhost:3000/login/verify',
   apiKey: "apiKey"}
));

app.get('/', function(req, res) {
    res.send(req.user == null ? 'no user' : req.user).end();
});

app.get('/authenticate', steam.authenticate(), function(req, res) {
    res.redirect('/login/');
});

app.get('/logout', steam.enforceLogin('/'), function(req, res) {
    req.logout();
    res.redirect('/');
});


module.exports = {
    path: '/login/',
    handler: app
};

然后在我的模板中使用axois从/ login路由获取此数据。谢谢