在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)})
答案 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路由获取此数据。谢谢