Я пытаюсь реализовать процесс аутентификации SAML в нашем приложении.
Пожалуйста, исправьте меня, если я ошибаюсь.у поставщика услуг нет приложения, мы будем использовать IDP, который в нашем случае Auth0.
код - это код nodejs, который выглядит следующим образом
const SamlStrategy = require('passport-saml').Strategy;
const passport = require('passport')
const express = require('express')
const bodyParser = require('body-parser')
const fs = require('fs')
passport.use(new SamlStrategy(
{
path: '/login/callback',
entryPoint: 'Identity Provider Login URL:',
issuer: 'passport-saml',
cert: fs.readFileSync("./cert.pem", "utf8"),
},
function (profile, done) {
console.log(profile)
return done();
})
);
const app = express()
const port = 3000;
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(passport.initialize())
app.post('/login/callback',
passport.authenticate('saml', {failureFlash: true}), (req, res) => {
console.log("test2")
}
);
app.post('/login/callback', (req, res) => {
console.log("test1")
console.log(req.body)
})
app.get('/test', (req, res) => {
res.status(200).send(here)
})
app.get('/login',
passport.authenticate('saml', {successRedirect: '/test', failureFlash: true})
, (req, res) => {
console.log("logged in")
}
);
app.get('/', (req, res) => {
console.log(req.account)
res.status(200).send("hello")
})
app.listen(port, () => {
console.log(`Server is listening on port ${port}`)
})
что происходит здесьзаключается в следующем: 1. я перенаправлен на страницу входа в Auth0 2. вход в систему с моим пользователем 3. перенаправления на URL обратного вызова, НО я не авторизован, я понятия не имею, почему я не перенаправлен на successRedirect
Пожалуйста, помогите мне, ребята, трудно найти информацию об онлайн.
Спасибо