Как внедрить steam auth в nuxt - PullRequest
0 голосов
/ 17 сентября 2018

На 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 builder, я не нашел способа перенести эти данные в nuxt и использовать их в шаблоне,И маршруты nuxt перекрываются, маршруты экспресс

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

1 Ответ

0 голосов
/ 18 сентября 2018

Решил эту проблему с помощью serverMiddleware.

Добавлено новое промежуточное ПО custum в nuxt.config

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 route. Спасибо

...