code: function (err, ok, state) {
          if (err) { return self.error(err); }
          if (!ok) { return self.fail(state, 403); }
  
          var samlResponse = self._samlp.decodeResponse(req);
          if (samlResponse.indexOf('<') === -1) {
            return self.fail('SAMLResponse should be a valid xml', 400);
          }
  
          var samlResponseDom = utils.parseSamlResponse(samlResponse);
  
          // If options are not set, we set the expected value from the request object
          var req_full_url = getReqUrl(req);
          self.options.destinationUrl = self.options.destinationUrl || req_full_url;
          self.options.recipientUrl = self.options.recipientUrl || req_full_url;
  
  
          self._samlp.validateSamlResponse(samlResponseDom, function (err, profile) {
            if (err) return self.fail(err, err.status || 400);
  
            var verified = function (err, user, info) {
              if (err) return self.error(err);
              if (!user) return self.fail(info);
  
              info = info || {};
              if (state) { info.state = state; }
              self.success(user, info);
            };
  
            if (self._passReqToCallback) {
              self._verify(req, profile, verified);
            } else {
              self._verify(profile, verified);
            }
          });
        }
docs: We have a response, get the user identity out of it