Ich verwende PassportJS, um meine node.js-Anwendung zu authentifizieren. Ich verwende die WSFED/ADFS-Strategie. Meine passport.serializeUser()
und passport.deserializeUser()
Funktionen funktionieren jedoch nicht. Sie werden nicht einmal angerufen. Die typische Lösung, die ich gefunden habe, ist hinzuzufügen app.use(passport.initialize())
und app.use(passport.session())
NACH app.use(session())
, was ich tat, also bin ich nicht sicher, warum serializeUser()
und deserializeUser()
nicht aufgerufen werden. Hier ist mein Code:PassportJS serializeUser und deserializeUser funktioniert nicht
var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
session = require('express-session'),
passport = require('passport'),
wsfedsaml2 = require('passport-wsfed-saml2').Strategy;
//Middlewares
passport.use('wsfed-saml2', new wsfedsaml2({
realm: 'https://localhost:3001',
identityProviderUrl: 'https://some_company.org/adfs/ls/',
thumbprint: '9.....4'
},
function(profile, done) {
console.log(profile);
return done(null, new User(profile));
}));
app.use(cookieParser());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser(function(user, done) {
console.log('In Serializer'); //does not print
done(null, user);
});
passport.deserializeUser(function(user, done) {
console.log('In DeSerializer'); //does not print
done(null, user);
});
Kann jemand helfen?
Vielen Dank im Voraus!
Yep - ich habe gerade versucht, es in dieser Reihenfolge .. es hat nicht funktioniert:/ –
@ user1547174 Aktualisiert meine Antwort. –