Получение 400 неверных запросов при попытке выйти из сеанса idp.
Пользователь вышел из сеанса приложения / паспорта, но не из сеанса idp.
Конечные точки выхода из системы и обратного вызова настраиваются, как показано ниже. Конечная точка выхода из системы прикрепляет необходимые атрибуты для выхода из системы пользователя и для создания SAMLRequest.
app.get('/api/logout', (req, res) => {
const currentUser = getCurrentUser(req);
const user = {
nameID: currentUser.nameID,
nameIDFormat: currentUser.nameIDFormat,
sessionIndex: currentUser.sessionIndex,
};
req.user = user;
return strategy.logout(req, function(err, uri) {
res.redirect(uri);
});
});
app.post('/api/logout/callback', (req, res) => {
req.logout();
// res.redirect(uri);
});
Конфигурация настроена так:
const strategy = new SamlStrategy(
{
callbackUrl: process.env.CALLBACK_URL,
entryPoint: process.env.ENTRY_POINT,
issuer: process.env.ISSUER,
logoutUrl: process.env.LOGOUT_URL,
logoutCallbackUrl: process.env.LOGOUT_CALLBACK_URL,
},
strategyCallback,
);
Любая помощь в решении проблемы очень ценится.