1
votes

I'm sending a saml request to my IDP and am getting the following error message in the process:

Unhandled error for request GET /ssoauth: Error: Missing attribute value for attribute Destination of element samlp:AuthnRequest

Where /ssoauth is the path on my server that the client uses to initiate the request.

Here is my passport.js file:


    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
Could it be a problem that my server and client are both using localhost, but just on different ports, rather than my server having it's own domain?Matt Ratliff

1 Answers

0
votes

In my case I accidentally made a typo in the entryPoint property name.

This error simply means that the SamlConfig.entryPoint has no value.