提问者:小点点

passport-saml请求中缺少“destination"属性


我正在向我的IDP发送saml请求,在此过程中收到以下错误消息:

其中/ssoauth是客户机用来启动请求的服务器上的路径。

下面是我的passport.js文件:


    var passport = require('passport');
    var config = require('./samlConfig');
    var SamlStrategy = require('passport-saml').Strategy;

    var samlOptions = {
       entryPoint: config.entryPoint,
       issuer: config.callbackUrl,
       callbackUrl: config.callbackUrl,
       cert: config.cert,
       identifierFormat: null
    };

    passport.serializeUser(function(user, done) {
       done(null, user.id);
    });

    passport.deserializeUser(function(id, done) {
       done(err, user);
    });

    passport.use(new SamlStrategy(
       samlOptions,
       function(profile, done) {
          findByEmail(profile.email, function(err, user) {
             if (err) {
                return done(err);
              }
          return done(null, user);
          });
        }
    ));

    module.exports = passport;

samlconfig.js:


    var entryPoint = 'https://sso.jumpcloud.com/saml2/myapp';
    var issuer = 'passport-saml';
    var callbackUrl = 'https://localhost:5000/login/callback';
    var identifierFormat = 'identifierFormat: null';
    var cert = '......';


共1个答案

匿名用户

在我的示例中,我不小心在属性名中出现了一个错误。

这个错误仅仅意味着没有值。