Package org.wso2.carbon.identity.sso.saml.ui.session.mgt

Examples of org.wso2.carbon.identity.sso.saml.ui.session.mgt.FESessionManager


            PrivilegedCarbonContext.endTenantFlow();
        }
    }

    private void setTenantCredentialsInCarbonContext() {
        PrivilegedCarbonContext cc = PrivilegedCarbonContext.getThreadLocalCarbonContext();
        cc.setTenantId(ownerTenantId);
        cc.setTenantDomain(ownerTenantDomain);
    }
View Full Code Here


                handleRequestFromLoginPage(request, response,
                                           username, password, ssoTokenID,
                                           ssoServiceClient);
            }
        } catch (IdentityException e) { // in case of an error, redirect them to notifications page with an error msg.
            FESessionManager sessionManager = FESessionManager.getInstance();
            String authSessionID = sessionManager.addNewSession(new FESessionBean("Server Error", "Please try again later."));
            response.sendRedirect(getAdminConsoleURL(request) + "sso-saml/notification_page.jsp?" +
                                  SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + authSessionID);
        }
    }
View Full Code Here

                                            String username, String password,
                                            String ssoTokenID,
                                            SAMLSSOServiceClient ssoServiceClient)
            throws IdentityException, IOException {

        FESessionManager sessionManager = FESessionManager.getInstance();
        String authSessionID = httpServletRequest.getParameter(SAMLSSOProviderConstants.FE_SESSION_KEY);
        FESessionBean sessionBean = sessionManager.getFESessionBean(authSessionID);
        SAMLSSOReqValidationResponseDTO validationResponseDTO = null;
        if (sessionBean != null) {
            if (sessionBean.getSessionBean() instanceof SAMLSSOReqValidationResponseDTO) {
                validationResponseDTO = (SAMLSSOReqValidationResponseDTO) sessionBean.getSessionBean();
            }
        }
        else{
            String errorSessionId = sessionManager.addNewSession(new FESessionBean("This authenticated session is expired.", "Please sign-in again."));
            httpServletResponse.sendRedirect(getAdminConsoleURL(httpServletRequest) + "sso-saml/notification_page.jsp?" +
                                  SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + errorSessionId);
            return;
        }
        // Create SAMLSSOAuthnReqDTO using a SAMLSSOReqValidationResponseDTO
        SAMLSSOAuthnReqDTO authnReqDTO = new SAMLSSOAuthnReqDTO();
        authnReqDTO.setAssertionConsumerURL(validationResponseDTO.getAssertionConsumerURL());
        authnReqDTO.setId(validationResponseDTO.getId());
        authnReqDTO.setIssuer(validationResponseDTO.getIssuer());
        authnReqDTO.setPassword(password);
        authnReqDTO.setUsername(username);
        authnReqDTO.setSubject(validationResponseDTO.getSubject());
        authnReqDTO.setRpSessionId(validationResponseDTO.getRpSessionId());
        authnReqDTO.setAssertionString(validationResponseDTO.getAssertionString());

        // authenticate the user
        SAMLSSORespDTO authRespDTO = ssoServiceClient.authenticate(authnReqDTO, ssoTokenID);

        if (authRespDTO.getSessionEstablished()) {  // authentication is SUCCESSFUL
            storeSSOTokenCookie(ssoTokenID, httpServletRequest, httpServletResponse);
            String respSessionAuthID = sessionManager.addNewSession(new FESessionBean(authRespDTO, sessionBean.getRelayState()));
            sessionManager.removeSession(authSessionID);    // remove the SAMLSSORespDTO
            httpServletResponse.sendRedirect(getAdminConsoleURL(httpServletRequest) + "sso-saml/redirect_ajaxprocessor.jsp?" + SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + respSessionAuthID);
        } else {    // authentication FAILURE
            validationResponseDTO.setValid(false);
            httpServletResponse.sendRedirect(calculateLoginPage(
                        getAdminConsoleURL(httpServletRequest), authRespDTO.getLoginPageURL())+ "?" + SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + authSessionID);
View Full Code Here

        }
    }

    private void handleLogout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
            throws IdentityException, IOException {
        FESessionManager sessionManager = FESessionManager.getInstance();
        String sessionId = sessionManager.addNewSession(new FESessionBean("You have been successfully signed out."
                , "All the other authenticated sessions are terminated."));
        httpServletResponse.sendRedirect(getAdminConsoleURL(httpServletRequest) + "sso-saml/notification_page.jsp?" +
                                         SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + sessionId);
    }
View Full Code Here

                                   String ssoTokenID, SAMLSSOServiceClient ssoServiceClient,
                                   String samlRequest, String relayState, String authMode)
            throws IdentityException, IOException {
        String rpSessionId = httpServletRequest.getParameter(MultitenantConstants.SSO_AUTH_SESSION_ID);
        SAMLSSOReqValidationResponseDTO signInRespDTO = ssoServiceClient.validate(samlRequest, ssoTokenID, rpSessionId, authMode);
        FESessionManager sessionManager = FESessionManager.getInstance();
        // If it is a login request.
        if (!signInRespDTO.getLogOutReq()) {
            //  an authentication context has not been already established, redirect user to a login page.
            if (signInRespDTO.getValid() && signInRespDTO.getResponse() == null) {
                String sessionID = sessionManager.addNewSession(new FESessionBean(signInRespDTO, relayState));
                httpServletResponse.sendRedirect(calculateLoginPage(
                        getAdminConsoleURL(httpServletRequest), signInRespDTO.getLoginPageURL())+ "?" +
                                                 SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + sessionID);

                // an auth. context has been already established. So redirect users back to ACS.
            } else if (signInRespDTO.getResponse() != null) {
                String sessionID = sessionManager.addNewSession(new FESessionBean(signInRespDTO, relayState));
                if(SAMLSSOProviderConstants.AuthnModes.OPENID.equals(authMode)){
                    storeSSOTokenCookie(ssoTokenID, httpServletRequest, httpServletResponse);
                }
                httpServletResponse.sendRedirect(getAdminConsoleURL(httpServletRequest) + "sso-saml/redirect_ajaxprocessor.jsp?" + SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + sessionID);
            }
        } else {     // in case of a logout request
            String sessionID = sessionManager.addNewSession(new FESessionBean(signInRespDTO, relayState));
            LogoutRequestSender.getInstance().sendLogoutRequests(signInRespDTO.getLogoutRespDTO());
            httpServletResponse.sendRedirect(getAdminConsoleURL(httpServletRequest) + "sso-saml/redirect_ajaxprocessor.jsp?" + SAMLSSOProviderConstants.FE_SESSION_KEY + "=" + sessionID);
        }
    }
View Full Code Here

        }

        public void run() {
            try {
                MessageContext msgCtx = ((Axis2MessageContext) synCtx).getAxis2MessageContext();
                Event<MessageContext> event = new Event(msgCtx);
                subscriptions = subscriptionManager.getMatchingSubscriptions(event);
            } catch (EventException e) {
                handleException("Matching subscriptions fetching error", e);
            }
View Full Code Here

     * @throws EventException event
     */
    private void processGetStatusRequest(MessageContext mc,
                                         ResponseMessageBuilder messageBuilder)
            throws AxisFault, EventException {
        Subscription subscription =
                SubscriptionMessageBuilder.createGetStatusMessage(mc);
        if (log.isDebugEnabled()) {
            log.debug("GetStatus request recived for SynapseSubscription ID : " +
                    subscription.getId());
        }
        subscription = subscriptionManager.getSubscription(subscription.getId());
        if (subscription != null) {
            if (log.isDebugEnabled()) {
                log.debug("Sending GetStatus responce for SynapseSubscription ID : " +
                        subscription.getId());
            }
            //send the responce
            SOAPEnvelope soapEnvelope = messageBuilder.genGetStatusResponse(subscription);
            dispatchResponse(soapEnvelope, EventingConstants.WSE_GET_STATUS_RESPONSE,
                    mc, false);
View Full Code Here

            // Adding static subscriptions
            List<Subscription> staticSubscriptionList =
                    eventSource.getSubscriptionManager().getStaticSubscriptions();
            for (Iterator<Subscription> iterator = staticSubscriptionList.iterator();
                 iterator.hasNext();) {
                Subscription staticSubscription = iterator.next();
                OMElement staticSubElem =
                        fac.createOMElement("subscription", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                staticSubElem.addAttribute(
                        fac.createOMAttribute("id", nullNS, staticSubscription.getId()));
                OMElement filterElem =
                        fac.createOMElement("filter", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                filterElem.addAttribute(fac.createOMAttribute("source", nullNS,
                        (String) staticSubscription.getFilterValue()));
                filterElem.addAttribute(fac.createOMAttribute("dialect", nullNS,
                        (String) staticSubscription.getFilterDialect()));
                staticSubElem.addChild(filterElem);
                OMElement endpointElem =
                        fac.createOMElement("endpoint", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                OMElement addressElem =
                        fac.createOMElement("address", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                addressElem.addAttribute(
                        fac.createOMAttribute("uri", nullNS, staticSubscription.getEndpointUrl()));
                endpointElem.addChild(addressElem);
                staticSubElem.addChild(endpointElem);
                if (staticSubscription.getExpires() != null) {
                    OMElement expiresElem =
                            fac.createOMElement("expires", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
                    fac.createOMText(expiresElem,
                            ConverterUtil.convertToString(staticSubscription.getExpires()));
                    staticSubElem.addChild(expiresElem);
                }
                evenSourceElem.addChild(staticSubElem);
            }
View Full Code Here


    public SynapseSubscription() {
        this.setId(UIDGenerator.generateURNString());
        this.setDeliveryMode(EventingConstants.WSE_DEFAULT_DELIVERY_MODE);
        SubscriptionData subscriptionData = new SubscriptionData();
        subscriptionData.setProperty(SynapseEventingConstants.STATIC_ENTRY, "false");
        this.setSubscriptionData(subscriptionData);
    }
View Full Code Here

                    .getAttribute(new QName(XMLConfigConstants.NULL_NAMESPACE, "class"));
            if (clazz != null) {
                String className = clazz.getAttributeValue();
                try {
                    Class subscriptionManagerClass = Class.forName(className);
                    SubscriptionManager manager =
                            (SubscriptionManager) subscriptionManagerClass.newInstance();
                    Iterator itr = subscriptionManagerElem.getChildrenWithName(PROPERTIES_QNAME);
                    while (itr.hasNext()) {
                        OMElement propElem = (OMElement) itr.next();
                        String propName =
                                propElem.getAttribute(new QName("name")).getAttributeValue();
                        String propValue =
                                propElem.getAttribute(new QName("value")).getAttributeValue();
                        if (propName != null && !"".equals(propName.trim()) &&
                                propValue != null && !"".equals(propValue.trim())) {

                            propName = propName.trim();
                            propValue = propValue.trim();

                            PasswordManager passwordManager =
                                    PasswordManager.getInstance();
                            String key = eventSource.getName() + "." + propName;

                            if (passwordManager.isInitialized()
                                    && passwordManager.isTokenProtected(key)) {
                                eventSource.putConfigurationProperty(propName, propValue);
                                propValue = passwordManager.resolve(propValue);
                            }

                            manager.addProperty(propName, propValue);
                        }
                    }
                    eventSource.setSubscriptionManager(manager);
                    eventSource.getSubscriptionManager()
                            .init(); // Initialise before doing further processing, required for static subscriptions
View Full Code Here

TOP

Related Classes of org.wso2.carbon.identity.sso.saml.ui.session.mgt.FESessionManager

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.