1 Reply Latest reply on Dec 31, 2012 8:51 AM by Adam Arun

    SessionIndex value in the LogoutRequest?

    Adam Arun Newbie

      Hi All,

       

      During SingleLogout requests, my IDP kept complaining:

       

      ERROR: IDPSingleLogout.processLogoutRequest: session index are null in logout request

       

      Looking at the LogoutRequest generated, it was right, the session index isn't in the request. Looks like the SAMLRequestWriter doesn't check for it in the LogoutRequestType, and I'm wondering why (could it be because its optional?)

       

      Anyway I kind of put in a quickfix for this by changing the convert method, just wanted to make sure this was right:

       

      ......

      List<String> sessionIndexes = logOutRequest.getSessionIndex();

                              logger.trace("SIZE OF SESSION INDEXES: "+sessionIndexes.size());

                              if(sessionIndexes.size()>0)

                              {

       

                                        StaxUtil.writeStartElement(this.writer, PROTOCOL_PREFIX, JBossSAMLConstants.SESSION_INDEX.get(),"");

                                        for(String sessionIndex : sessionIndexes )

                                        {

                                                  StaxUtil.writeCharacters(this.writer, sessionIndex);

                                        }

       

                                        StaxUtil.writeEndElement(this.writer);

                                        StaxUtil.flush(this.writer);

                              }

      .....

      Regards

        • 1. Re: SessionIndex value in the LogoutRequest?
          Adam Arun Newbie

          I think there is another problem related to the SessionIndex, this time in the SAMLSloRequestParser. It seems to add the session index by logoutRequest.getSessionIndex().add(StaxParserUtil.getElementText(xmlEventReader)); which will always return a java.lang.UnsupportedOperationException since logoutRequest.getSessionIndex() will return an unmodifiable Collection.

           

          I reckon it should be something like logoutRequest.addSessionIndex(StaxParserUtil.getElementText(xmlEventReader));

           

          Regards