5.4 KiB
5.4 KiB
id, title, challengeType, forumTopicId, localeTitle
id | title | challengeType | forumTopicId | localeTitle |
---|---|---|---|---|
5895f70cf9fc0f352b528e65 | Set up Passport | 2 | 301565 | Настройка паспорта |
Description
"passport": "^0.3.2"
и "express-session": "^1.15.0"
. Express-session имеет массу расширенных функций, которые вы можете использовать, но пока мы просто используем основы! Вам нужно будет настроить настройки сеанса и инициализировать Passport. Обязательно сначала создайте session и passport, чтобы требовать express-session и passport соответственно. Чтобы настроить ваше Express приложение для использования, используйте session, и мы определим лишь несколько основных параметров. Не забудьте добавить 'SESSION_SECRET' в ваш .ENV-файл и дать ему случайное значение. Это используется для вычисления хэша, используемого для шифрования вашего файла cookie! app.use(session({ secret: process.env.SESSION_SECRET, resave: true, saveUninitialized: true, }));Кроме того, вы можете пойти и сказать, что ваше Express приложение использует
passport.initialize()
и passport.session()
. (Например, app.use(passport.initialize());
) Представьте свою страницу, если вы считаете, что у вас все в порядке. Если вы работаете в ошибки, вы можете проверить проект завершен до этого момента здесь .
Instructions
Tests
tests:
- text: Passort and Express-session are dependencies
testString: getUserInput => $.get(getUserInput('url')+ '/_api/package.json') .then(data => { var packJson = JSON.parse(data); assert.property(packJson.dependencies, 'passport', 'Your project should list "passport" as a dependency'); assert.property(packJson.dependencies, 'express-session', 'Your project should list "express-session" as a dependency'); }, xhr => { throw new Error(xhr.statusText); })
- text: Dependencies correctly required
testString: getUserInput => $.get(getUserInput('url')+ '/_api/server.js') .then(data => { assert.match(data, /require.*("|')passport("|')/gi, 'You should have required passport'); assert.match(data, /require.*("|')express-session("|')/gi, 'You should have required express-session'); }, xhr => { throw new Error(xhr.statusText); })
- text: Express app uses new dependencies
testString: getUserInput => $.get(getUserInput('url')+ '/_api/server.js') .then(data => { assert.match(data, /passport.initialize/gi, 'Your express app should use "passport.initialize()"'); assert.match(data, /passport.session/gi, 'Your express app should use "passport.session()"'); }, xhr => { throw new Error(xhr.statusText); })
- text: Session and session secret correctly set up
testString: getUserInput => $.get(getUserInput('url')+ '/_api/server.js') .then(data => { assert.match(data, /secret:( |)process.env.SESSION_SECRET/gi, 'Your express app should have express-session set up with your secret as process.env.SESSION_SECRET'); }, xhr => { throw new Error(xhr.statusText); })