auth0的护照saml问题

时间:2019-02-28 12:43:57

标签: node.js oauth passport.js saml-2.0

我正在尝试在我们的应用程序中实现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

请帮助我,很难找到有关在线的信息。

谢谢

0 个答案:

没有答案