Package org.jboss.seam.security.external.jaxb.samlv2.protocol

Examples of org.jboss.seam.security.external.jaxb.samlv2.protocol.LogoutRequestType


         return SAMLProtocolFactory.getObjectFactory().createAuthnRequest(art);
      }
     
      if(requestAbstractType instanceof LogoutRequestType)
      {
         LogoutRequestType lrt = (LogoutRequestType) requestAbstractType;
         return SAMLProtocolFactory.getObjectFactory().createLogoutRequest(lrt);
      }
      if(requestAbstractType instanceof AssertionIDRequestType)
      {
         AssertionIDRequestType airt = (AssertionIDRequestType) requestAbstractType;
View Full Code Here


    */
   public LogoutRequestType createLogoutRequest(String issuer) throws ConfigurationException
   {
      org.jboss.identity.federation.saml.v2.protocol.ObjectFactory of
             = new org.jboss.identity.federation.saml.v2.protocol.ObjectFactory();
      LogoutRequestType lrt = of.createLogoutRequestType();
      lrt.setIssueInstant(XMLTimeUtil.getIssueInstant());
     
      //Create an issuer
      NameIDType issuerNameID = JBossSAMLBaseFactory.createNameID();
      issuerNameID.setValue(issuer);
      lrt.setIssuer(issuerNameID);
     
      return lrt;
   }
View Full Code Here

    */
   public LogoutRequestType createLogoutRequest(String issuer) throws ConfigurationException
   {
      org.jboss.identity.federation.saml.v2.protocol.ObjectFactory of
             = new org.jboss.identity.federation.saml.v2.protocol.ObjectFactory();
      LogoutRequestType lrt = of.createLogoutRequestType();
      lrt.setIssueInstant(XMLTimeUtil.getIssueInstant());
     
      //Create an issuer
      NameIDType issuerNameID = JBossSAMLBaseFactory.createNameID();
      issuerNameID.setValue(issuer);
      lrt.setIssuer(issuerNameID);
     
      return lrt;
   }
View Full Code Here

      {
         //Generate the LogOut Request
         SAML2Request samlRequest = new SAML2Request();
         try
         {
            LogoutRequestType lot =
               samlRequest.createLogoutRequest(request.getIssuer().getValue());
            response.setResultingDocument(samlRequest.convert(lot));
         }
         catch (Exception e)
         {
View Full Code Here

     
         SAML2Object samlObject = request.getSAML2Object();
         if(samlObject instanceof LogoutRequestType == false)
            return;
        
         LogoutRequestType logOutRequest = (LogoutRequestType) samlObject;
         HTTPContext httpContext = (HTTPContext) request.getContext();
         HttpServletRequest servletRequest = httpContext.getRequest();
         HttpSession session = servletRequest.getSession(false);
        
         String relayState = servletRequest.getParameter("RelayState");
        
         session.invalidate(); //Invalidate the current session at the SP
        
         //Generate a Logout Response
         StatusResponseType statusResponse = objectFactory.createStatusResponseType();
        
         //Status
         StatusType statusType = objectFactory.createStatusType();
         StatusCodeType statusCodeType = objectFactory.createStatusCodeType();
         statusCodeType.setValue(JBossSAMLURIConstants.STATUS_RESPONDER.get());
        
         //2nd level status code
         StatusCodeType status2ndLevel = objectFactory.createStatusCodeType();
         status2ndLevel.setValue(JBossSAMLURIConstants.STATUS_SUCCESS.get());
         statusCodeType.setStatusCode(status2ndLevel);
        
         statusType.setStatusCode(statusCodeType);
        
         statusResponse.setStatus(statusType);
        
         try
         {
            statusResponse.setIssueInstant(XMLTimeUtil.getIssueInstant());
         }
         catch (ConfigurationException e)
         {
            throw new ProcessingException(e);
         }
         statusResponse.setInResponseTo(logOutRequest.getID());
         statusResponse.setID(IDGenerator.create("ID_"));
        
         statusResponse.setIssuer(request.getIssuer());
        
         SAML2Response saml2Response = new SAML2Response();
         try
         {
            response.setResultingDocument(saml2Response.convert(statusResponse));
         }
         catch(Exception je)
         {
            throw new ProcessingException(je);
         }
        
         response.setRelayState(relayState);
         response.setDestination(logOutRequest.getIssuer().getValue());
      }
View Full Code Here

            response.setDestination(nextParticipant);
           
            SAML2Request saml2Request = new SAML2Request();
            try
            {
               LogoutRequestType lort = saml2Request.createLogoutRequest(request.getIssuer().getValue());
               response.setResultingDocument(saml2Request.convert(lort));
            }
            catch(Exception e)
            {
               throw new ProcessingException(e);
View Full Code Here

         HttpSession session = httpContext.getRequest().getSession(false);
         String sessionID = session.getId();
        
         String relayState = httpContext.getRequest().getParameter("RelayState");
        
         LogoutRequestType logOutRequest = (LogoutRequestType) request.getSAML2Object();
         String issuer = logOutRequest.getIssuer().getValue();
         try
         {
            SAML2Response saml2Response = new SAML2Response();
            SAML2Request saml2Request = new SAML2Request();
           
            ServletContext servletCtx = httpContext.getServletContext();
            IdentityServer server = (IdentityServer)servletCtx.getAttribute("IDENTITY_SERVER");
           
            if(server == null)
               throw new ProcessingException("Identity Server not found");
           
            String originalIssuer = (relayState == null) ? issuer : relayState;
           
            String participant = this.getParticipant(server, sessionID, originalIssuer);
          
            if(participant == null || participant.equals(originalIssuer))
            {
               //All log out is done
               session.invalidate();
               server.stack().pop(sessionID);
              
               generateSuccessStatusResponseType(logOutRequest.getID(),
                     request, response, originalIssuer);
            }
            else
            {
               //Put the participant in transit mode
               server.stack().registerTransitParticipant(sessionID, participant);
              
               if(relayState == null)
                  relayState = originalIssuer;
              
               //send logout request to participant with relaystate to orig
               response.setRelayState(originalIssuer);
              
               response.setDestination(participant);
              
              
               LogoutRequestType lort = saml2Request.createLogoutRequest(request.getIssuer().getValue());
               response.setResultingDocument(saml2Request.convert(lort));
            }
         }
         catch(ParserConfigurationException pe)
         {
View Full Code Here

         return SAMLProtocolFactory.getObjectFactory().createAuthnRequest(art);
      }
     
      if(requestAbstractType instanceof LogoutRequestType)
      {
         LogoutRequestType lrt = (LogoutRequestType) requestAbstractType;
         return SAMLProtocolFactory.getObjectFactory().createLogoutRequest(lrt);
      }
      if(requestAbstractType instanceof AssertionIDRequestType)
      {
         AssertionIDRequestType airt = (AssertionIDRequestType) requestAbstractType;
View Full Code Here

         return SAMLProtocolFactory.getObjectFactory().createAuthnRequest(art);
      }
     
      if(requestAbstractType instanceof LogoutRequestType)
      {
         LogoutRequestType lrt = (LogoutRequestType) requestAbstractType;
         return SAMLProtocolFactory.getObjectFactory().createLogoutRequest(lrt);
      }
      if(requestAbstractType instanceof AssertionIDRequestType)
      {
         AssertionIDRequestType airt = (AssertionIDRequestType) requestAbstractType;
View Full Code Here

    public ResponseType createResponse(SamlIdpSession session, SamlEndpoint externalSamlEndpoint) {
        ResponseType response = objectFactory.createResponseType();

        fillStatusResponseFields(response, SamlConstants.STATUS_SUCCESS, null);

        AssertionType assertion = assertionObjectFactory.createAssertionType();
        response.getAssertionOrEncryptedAssertion().add(assertion);

        SubjectType subject = assertionObjectFactory.createSubjectType();
        assertion.setSubject(subject);

        NameIDType nameID = assertionObjectFactory.createNameIDType();
        subject.getContent().add(assertionObjectFactory.createNameID(nameID));
        nameID.setValue(session.getPrincipal().getNameId().getValue());
        nameID.setFormat(session.getPrincipal().getNameId().getFormat());
        nameID.setNameQualifier(session.getPrincipal().getNameId().getQualifier());

        SubjectConfirmationType subjectConfirmation = assertionObjectFactory.createSubjectConfirmationType();
        subject.getContent().add(assertionObjectFactory.createSubjectConfirmation(subjectConfirmation));
        subjectConfirmation.setMethod(SamlConstants.CONFIRMATION_METHOD_BEARER);
        subjectConfirmation.setNameID(nameID);

        SubjectConfirmationDataType subjectConfirmationData = assertionObjectFactory.createSubjectConfirmationDataType();
        subjectConfirmation.setSubjectConfirmationData(subjectConfirmationData);

        subjectConfirmationData.setRecipient(externalSamlEndpoint.getLocation());
        subjectConfirmationData.setNotOnOrAfter(SamlUtils.getXMLGregorianCalendarNowPlusDuration(GregorianCalendar.MINUTE, ASSERTION_VALIDITY_IN_MINUTES));
        subjectConfirmationData.setInResponseTo(samlDialogue.get().getExternalProviderMessageId());

        ConditionsType conditions = assertionObjectFactory.createConditionsType();
        assertion.setConditions(conditions);
        AudienceRestrictionType audienceRestriction = assertionObjectFactory.createAudienceRestrictionType();
        conditions.getConditionOrAudienceRestrictionOrOneTimeUse().add(audienceRestriction);
        audienceRestriction.getAudience().add(samlDialogue.get().getExternalProvider().getEntityId());

        AuthnStatementType authnStatement = assertionObjectFactory.createAuthnStatementType();
        assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement().add(authnStatement);
        authnStatement.setAuthnInstant(SamlUtils.getXMLGregorianCalendarNow());
        authnStatement.setSessionIndex(((SamlIdpSessionImpl) session).getSessionIndex());

        AuthnContextType authnContext = assertionObjectFactory.createAuthnContextType();
        authnStatement.setAuthnContext(authnContext);
View Full Code Here

TOP

Related Classes of org.jboss.seam.security.external.jaxb.samlv2.protocol.LogoutRequestType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.