@hollanditkzn

Как установить passport в koa сгененрированное приложение?

У меня возникли сложности как примерно я должен строить авторизацию пользователя, в приложение koa который сгенерирована
Только когда я хочу поставить passport у меня возникает ошибка
AssertionError [ERR_ASSERTION]: app.use() requires a generator function
'use strict';
const auth = require('./controllers/auth');
const compress = require('koa-compress');
const logger = require('koa-logger');
const serve = require('koa-static');
const route = require('koa-route');
const koa = require('koa');
const path = require('path');
const passport = require('koa-passport');
const session = require('koa-session');
const app = module.exports = koa();

// Logger
app.use(logger());

app.use(route.get('/registration', auth.registration));
app.use(route.get('/', auth.login));

// Serve static files
app.use(serve(path.join(__dirname, 'public')));

//Session
app.keys = ['some secret hurr'];
app.use(session({}, app));

//Authorization
app.use(passport.initialize());
app.use(passport.session());

// Compress
app.use(compress());

if (!module.parent) {
  app.listen(3000);
  console.log('Слушает порт 3000');
}

Как я должен применить passport
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
этот генератор ставит коа версии 1 ( в ней используются генераторы)
а koa-passport по умолчанию ставит версию 2 или 3 которая для koa версии 2 ( в ней уже используются async функции)

поэтому ваша старая коа ругается на новый коа-паспорт, который вместо генераторов дает ей async

выполните команду
npm install koa-passport@1 --save

и все должно заработать по идее
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы