(обновленный код с функциями сериализации - еще перенаправляет/failedRedirect)Node.js аутентификации пользователя с использованием паспорта
Я пытаюсь получить простой аутентификации имя пользователя/пароль, используя Собирается пакет паспорта, но терпит неудачу. В приведенном ниже примере я попытался проверить, работает ли аутентификация, в основном, всегда возвращая действительную проверку подлинности (независимо от того, что передается), но по какой-то причине она терпит неудачу, а паспорт перенаправляет на неудачную ссылку входа в систему.
Если кто-нибудь может помочь мне выяснить, как получить этот пример, чтобы просто аутентифицировать что-либо, я должен иметь возможность управлять оттуда.
Код в CoffeeScript является:
express = require "express"
passport = require "passport"
LocalStrategy = require("passport-local").Strategy
passport.use(new LocalStrategy((username, password, done) ->
console.log "LocalStrategy invoked"
done(null, {id: 1, name: "Marius"})
))
passport.serializeUser (user, done) ->
done null, user
passport.deserializeUser (obj, done) ->
done null, obj
app = express.createServer()
app.configure ->
app.use express.bodyParser()
app.use express.static("./public")
app.use express.cookieParser("SOMESECRET")
app.use express.session
secret: "SOMESECRET"
cookie:
maxAge: 60000
app.use passport.initialize()
app.use passport.session()
app.set "view", "./srv/views"
app.set "view engine", "jade"
app.get "/login", (req, res) ->
res.send "login page"
app.post "/login", passport.authenticate("local",
failureRedirect: "/failedRedirect"
successRedirect: "/successRedirect"
failureFlash: true)
app.listen 8082
Решено: Хорошо, я полагаю, что было несколько причин, почему я не мог заставить его работать. Сериализованный материал может быть одним (я не тестировал), но так как Джаред сказал, что они нужны, я оставляю их (он автор Паспорта). Другая путаница может быть связана с экспресс-версиями и моей путаницей с npm. Я считаю, что я тестировал как последнюю версию v2, но я также тестировал v3, который я запускаю сейчас. Для версии три вы, вероятно, должны также проверить модуль connect-flash
на Github, так как некоторые из «флеш-файлов», которые используются в примерах Джареда, были перемещены из express v3 (поэтому модуль возвращает его обратно ...). И, наконец, убедитесь, что вы публикуете соответствующие имена имен имен (username
и password
по умолчанию).
Обновленный код для включения сериализации, но аутентификация по-прежнему терпит неудачу. Обновлен ли код успешно завершен в конце? Спасибо .. –
Да, это так. Выводит ли ваш код сообщение «LocalStrategy invoked». Это может помочь монтировать 'app.use (express.errorHandler ({dumpExceptions: true, showStack: true}));' и посмотреть, не выбрасываются ли какие-либо исключения. –
На моем конце даже «вызывается» сообщение не отображается. Я попробую ваш errorHandler, чтобы увидеть, всплывает ли что-нибудь. –