5.9 KiB
5.9 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
5895f70cf9fc0f352b528e65 | Set up Passport | 2 | Настройка паспорта |
Description
"passport": "^0.3.2"
Кроме того, добавьте экспресс-сессию как зависимость теперь. Экспресс-сессия имеет массу расширенных функций, которые вы можете использовать, но пока мы просто используем основы! "express-session": "^1.15.0"
Вам нужно будет настроить настройки сеанса и инициализировать Passport. Обязательно сначала создайте «сеанс переменных» и «паспорт», чтобы требовать «экспресс-сессию» и «паспорт» соответственно. Чтобы настроить ваше экспресс-приложение для использования, используйте сеанс, и мы определим лишь несколько основных параметров. Не забудьте добавить 'SESSION_SECRET' в ваш .ENV-файл и дать ему случайное значение. Это используется для вычисления хэша, используемого для шифрования вашего файла cookie! app.use (сессия ({ secret: process.env.SESSION_SECRET, resave: true, saveUninitialized: true, }));Кроме того, вы можете пойти и сказать, что ваше экспресс-приложение использует «passport.initialize ()» и «passport.session ()». (Например,
app.use(passport.initialize());
) Представьте свою страницу, если вы считаете, что у вас все в порядке. Если вы работаете в ошибки, вы можете проверить проект завершен до этого момента здесь . Instructions
Tests
tests:
- text: Паспорт и экспресс-сеанс - это зависимости
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: Зависимости правильно
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: Экспресс-приложение использует новые зависимости
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: Секретная сессия и секрет сеанса правильно настроены
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); })'
Challenge Seed
Solution
// solution required