Package org.picketlink.identity.federation.core.config

Examples of org.picketlink.identity.federation.core.config.STSType


                SAMLConfigParser samlConfigParser = new SAMLConfigParser();
                Handlers handlers = (Handlers) samlConfigParser.parse(xmlEventReader);
                picketLinkType.setHandlers(handlers);
            } else if (STSConfigParser.ROOT_ELEMENT.equals(tag)) {
                STSConfigParser samlConfigParser = new STSConfigParser();
                STSType sts = (STSType) samlConfigParser.parse(xmlEventReader);
                picketLinkType.setStsType(sts);
            }
            startElement = StaxParserUtil.peekNextStartElement(xmlEventReader);
            if (startElement == null)
                break;
View Full Code Here


     * @see org.picketlink.identity.federation.core.parsers.ParserNamespaceSupport#parse(javax.xml.stream.XMLEventReader)
     */
    public Object parse(XMLEventReader xmlEventReader) throws ParsingException {
        StartElement startElement = StaxParserUtil.getNextStartElement(xmlEventReader);
        StaxParserUtil.validate(startElement, ROOT_ELEMENT);
        STSType configType = new STSType();

        // parse and set the root element attributes.
        QName attributeQName = new QName("", STS_NAME_ATTRIB);
        Attribute attribute = startElement.getAttributeByName(attributeQName);
        if (attribute != null)
            configType.setSTSName(StaxParserUtil.getAttributeValue(attribute));

        attributeQName = new QName("", TOKEN_TIMEOUT_ATTRIB);
        attribute = startElement.getAttributeByName(attributeQName);
        if (attribute != null)
            configType.setTokenTimeout(Integer.valueOf(StaxParserUtil.getAttributeValue(attribute)));

        attributeQName = new QName("", CLOCK_SKEW_ATTRIB);
        attribute = startElement.getAttributeByName(attributeQName);
        if (attribute != null)
            configType.setClockSkew(Integer.valueOf(StaxParserUtil.getAttributeValue(attribute)));

        attributeQName = new QName("", SIGN_TOKEN_ATTRIB);
        attribute = startElement.getAttributeByName(attributeQName);
        if (attribute != null)
            configType.setSignToken(Boolean.valueOf(StaxParserUtil.getAttributeValue(attribute)));

        attributeQName = new QName("", ENCRYPT_TOKEN_ATTRIB);
        attribute = startElement.getAttributeByName(attributeQName);
        if (attribute != null)
            configType.setEncryptToken(Boolean.valueOf(StaxParserUtil.getAttributeValue(attribute)));

        attributeQName = new QName("", CANON_METHOD_ATTRIB);
        attribute = startElement.getAttributeByName(attributeQName);
        if (attribute != null)
            configType.setCanonicalizationMethod(StaxParserUtil.getAttributeValue(attribute));

        // parse the inner elements.
        while (xmlEventReader.hasNext()) {
            XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader);
            if (xmlEvent == null)
                break;
            if (xmlEvent instanceof EndElement) {
                EndElement endElement = (EndElement) StaxParserUtil.getNextEvent(xmlEventReader);
                String endElementName = StaxParserUtil.getEndElementName(endElement);
                if (endElementName.equals(ROOT_ELEMENT))
                    break;
                else
                    throw logger.parserUnknownEndElement(endElementName);
            }

            StartElement subEvent = StaxParserUtil.peekNextStartElement(xmlEventReader);
            if (subEvent == null)
                break;
            String elementName = StaxParserUtil.getStartElementName(subEvent);
            if (KEY_PROVIDER_ELEMENT.equalsIgnoreCase(elementName)) {
                configType.setKeyProvider(this.parseKeyProvider(xmlEventReader));
            } else if (REQUEST_HANDLER_ELEMENT.equalsIgnoreCase(elementName)) {
                subEvent = StaxParserUtil.getNextStartElement(xmlEventReader);
                if (!StaxParserUtil.hasTextAhead(xmlEventReader))
                    throw new ParsingException(ErrorCodes.EXPECTED_TEXT_VALUE + "RequestHandler");
                configType.setRequestHandler(StaxParserUtil.getElementText(xmlEventReader));
            } else if (CLAIMS_PROCESSORS_ELEMENT.equalsIgnoreCase(elementName)) {
                configType.setClaimsProcessors(this.parseClaimsProcessors(xmlEventReader));
            } else if (TOKEN_PROVIDERS_ELEMENT.equalsIgnoreCase(elementName)) {
                configType.setTokenProviders(this.parseTokenProviders(xmlEventReader));
            } else if (SERVICE_PROVIDERS_ELEMENT.equalsIgnoreCase(elementName)) {
                configType.setServiceProviders(this.parseServiceProviders(xmlEventReader));
            } else
                throw logger.parserUnknownTag(elementName, subEvent.getLocation());
        }
        return configType;
    }
View Full Code Here

     * <p>
     * Creates an instance of {@code PicketLinkSTSConfiguration} with default configuration values.
     * </p>
     */
    public PicketLinkSTSConfiguration() {
        this.delegate = new STSType();
        this.delegate.setRequestHandler(StandardRequestHandler.class.getCanonicalName());
        // TODO: add default token provider classes.
    }
View Full Code Here

                    }
                }
            }

            InputStream stream = configurationFileURL.openStream();
            STSType stsConfig = (STSType) new STSConfigParser().parse(stream);
            STSConfiguration configuration = new PicketLinkSTSConfiguration(stsConfig);

            logger.stsConfigurationFileLoaded(fileName);
           
            return configuration;
View Full Code Here

                logger.stsUsingDefaultConfiguration("");
                return new PicketLinkSTSConfiguration();
            }

            InputStream stream = configurationFileURL.openStream();
            STSType stsConfig = (STSType) new STSConfigParser().parse(stream);
            STSConfiguration configuration = new PicketLinkSTSConfiguration(stsConfig);
            if (logger.isInfoEnabled())
                logger.stsConfigurationFileLoaded(STS_CONFIG_FILE);
            return configuration;
        } catch (Exception e) {
View Full Code Here

    public void testUseKeyViaSecondaryParameters() throws Exception {
        ClassLoader cl = getClass().getClassLoader();

        InputStream configStream = cl.getResourceAsStream("sts/picketlink-sts.xml");
        STSConfigParser configParser = new STSConfigParser();
        STSType stsType = (STSType) configParser.parse(configStream);

        STSConfiguration config = new PicketLinkSTSConfiguration(stsType);
        WSTrustServiceFactory factory = WSTrustServiceFactory.getInstance();

        // tests the creation of the request handler.
View Full Code Here

        STSConfigParser parser = new STSConfigParser();

        Object object = parser.parse(is);
        assertNotNull("Found a null STS configuration", object);

        STSType stsType = (STSType) object;
        // general STS configurations.
        assertEquals("Unexpected STS name", "Test STS", stsType.getSTSName());
        assertEquals("Unexpected token timeout value", 7200, stsType.getTokenTimeout());
        assertTrue("Encryption of tokens should have been enabled", stsType.isEncryptToken());
        // we don't verify all values of the key provider config as it has been done in the other test scenarios.
        assertNotNull("Unexpected null key provider", stsType.getKeyProvider());
        // request handler and configurations based on the token type.
        assertEquals("Unexpected request handler class", "org.picketlink.identity.federation.wstrust.Handler",
                stsType.getRequestHandler());
        // configuration of the token providers.
        TokenProvidersType tokenProviders = stsType.getTokenProviders();
        assertNotNull("Unexpected null list of token providers", tokenProviders);
        assertEquals("Unexpected number of token providers", 1, tokenProviders.getTokenProvider().size());
        TokenProviderType tokenProvider = tokenProviders.getTokenProvider().get(0);
        assertNotNull("Unexpected null token provider", tokenProvider);
        assertEquals("Unexpected provider class name", "org.jboss.SpecialTokenProvider", tokenProvider.getProviderClass());
        assertEquals("Unexpected token type", "specialToken", tokenProvider.getTokenType());
        assertEquals("Unexpected token element name", "SpecialToken", tokenProvider.getTokenElement());
        assertEquals("Unexpected token namespace", "http://www.tokens.org", tokenProvider.getTokenElementNS());
        List<KeyValueType> properties = tokenProvider.getProperty();
        assertEquals("Invalid number of properties", 2, properties.size());
        // configuration of the service providers.
        ServiceProvidersType serviceProviders = stsType.getServiceProviders();
        assertNotNull("Unexpected null list of service providers", serviceProviders);
        assertEquals("Unexpected number of service providers", 1, serviceProviders.getServiceProvider().size());
        ServiceProviderType serviceProvider = serviceProviders.getServiceProvider().get(0);
        assertNotNull("Unexpected null service provider", serviceProvider);
        assertEquals("Unexpected provider endpoint", "http://provider.endpoint/provider", serviceProvider.getEndpoint());
View Full Code Here

        ClassLoader tcl = Thread.currentThread().getContextClassLoader();
        InputStream configStream = tcl.getResourceAsStream("parser/config/picketlink-sts.xml");

        // parse the test configuration file.
        STSConfigParser parser = new STSConfigParser();
        STSType stsType = (STSType) parser.parse(configStream);

        // check if the STS attributes have been correctly set, including the ones with default values.
        assertEquals("PicketLinkSTS", stsType.getSTSName());
        assertEquals(7200, stsType.getTokenTimeout());
        assertEquals(1000, stsType.getClockSkew());
        assertEquals(true, stsType.isSignToken());
        assertEquals(false, stsType.isEncryptToken());
        assertEquals("http://www.w3.org/2001/10/xml-exc-c14n#WithComments", stsType.getCanonicalizationMethod());

        // check if the key provider has been set according to the configuration file.
        KeyProviderType keyProvider = stsType.getKeyProvider();
        assertNotNull(keyProvider);
        assertEquals("org.picketlink.identity.federation.core.impl.KeyStoreKeyManager", keyProvider.getClassName());
        assertNull(keyProvider.getSigningAlias());
        List<AuthPropertyType> authProperties = keyProvider.getAuth();
        assertEquals(4, authProperties.size());
        assertEquals("KeyStoreURL", authProperties.get(0).getKey());
        assertEquals("sts_keystore.jks", authProperties.get(0).getValue());
        assertEquals("KeyStorePass", authProperties.get(1).getKey());
        assertEquals("testpass", authProperties.get(1).getValue());
        assertEquals("SigningKeyAlias", authProperties.get(2).getKey());
        assertEquals("sts", authProperties.get(2).getValue());
        assertEquals("SigningKeyPass", authProperties.get(3).getKey());
        assertEquals("keypass", authProperties.get(3).getValue());
        List<KeyValueType> validatingAliases = keyProvider.getValidatingAlias();
        assertEquals(2, validatingAliases.size());
        assertEquals("http://services.testcorp.org/provider1", validatingAliases.get(0).getKey());
        assertEquals("service1", validatingAliases.get(0).getValue());
        assertEquals("http://services.testcorp.org/provider2", validatingAliases.get(1).getKey());
        assertEquals("service2", validatingAliases.get(1).getValue());

        // check if the request handler has been set according to the configuration file.
        assertNotNull(stsType.getRequestHandler());
        assertEquals("org.picketlink.identity.federation.core.wstrust.StandardRequestHandler", stsType.getRequestHandler());

        // check if the claims processors have been set according to the configuration file.
        assertNotNull(stsType.getClaimsProcessors());
        List<ClaimsProcessorType> claimsProcessors = stsType.getClaimsProcessors().getClaimsProcessor();
        assertEquals(2, claimsProcessors.size());
        ClaimsProcessorType claimsProcessor = claimsProcessors.get(0);
        assertEquals("org.picketlink.test.Processor1", claimsProcessor.getProcessorClass());
        assertEquals("urn:test-org:test-dialect:1.0", claimsProcessor.getDialect());
        assertEquals(0, claimsProcessor.getProperty().size());
        claimsProcessor = claimsProcessors.get(1);
        assertEquals("org.picketlink.test.Processor2", claimsProcessor.getProcessorClass());
        assertEquals("urn:test-org:test-dialect:2.0", claimsProcessor.getDialect());
        assertEquals(1, claimsProcessor.getProperty().size());
        assertEquals("SomeKey", claimsProcessor.getProperty().get(0).getKey());
        assertEquals("SomeValue", claimsProcessor.getProperty().get(0).getValue());

        // check if the token providers have been set according to the configuration file.
        assertNotNull(stsType.getTokenProviders());
        List<TokenProviderType> tokenProviders = stsType.getTokenProviders().getTokenProvider();
        assertEquals(2, tokenProviders.size());
        TokenProviderType tokenProvider = tokenProviders.get(0);
        assertEquals("org.picketlink.test.identity.federation.core.wstrust.SpecialTokenProvider",
                tokenProvider.getProviderClass());
        assertEquals("http://www.tokens.org/SpecialToken", tokenProvider.getTokenType());
        assertEquals("SpecialToken", tokenProvider.getTokenElement());
        assertEquals("http://www.tokens.org", tokenProvider.getTokenElementNS());
        assertEquals(2, tokenProvider.getProperty().size());
        assertEquals("Property1", tokenProvider.getProperty().get(0).getKey());
        assertEquals("Value1", tokenProvider.getProperty().get(0).getValue());
        assertEquals("Property2", tokenProvider.getProperty().get(1).getKey());
        assertEquals("Value2", tokenProvider.getProperty().get(1).getValue());
        tokenProvider = tokenProviders.get(1);
        assertEquals("org.picketlink.identity.federation.core.wstrust.plugins.saml.SAML20TokenProvider",
                tokenProvider.getProviderClass());
        assertEquals("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0", tokenProvider.getTokenType());
        assertEquals("Assertion", tokenProvider.getTokenElement());
        assertEquals("urn:oasis:names:tc:SAML:2.0:assertion", tokenProvider.getTokenElementNS());
        assertEquals(0, tokenProvider.getProperty().size());

        // finally check if the service providers have been set according to the configuration file.
        assertNotNull(stsType.getServiceProviders());
        List<ServiceProviderType> serviceProviders = stsType.getServiceProviders().getServiceProvider();
        assertEquals(2, serviceProviders.size());
        ServiceProviderType serviceProvider = serviceProviders.get(0);
        assertEquals("http://services.testcorp.org/provider1", serviceProvider.getEndpoint());
        assertEquals("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0", serviceProvider.getTokenType());
        assertEquals("service1", serviceProvider.getTruststoreAlias());
View Full Code Here

        InputStream configStream = tcl.getResourceAsStream("parser/config/picketlink-consolidated-sts.xml");
        PicketLinkConfigParser parser = new PicketLinkConfigParser();
        Object result = parser.parse(configStream);
        assertNotNull(result);
        PicketLinkType picketlink = (PicketLinkType) result;
        STSType sts = picketlink.getStsType();
        assertNotNull(sts);
        assertTrue(picketlink.isEnableAudit());
    }
View Full Code Here

            InputStream stream;
            try {
                URL configURL = Thread.currentThread().getContextClassLoader().getResource(configFileName);
                stream = configURL.openStream();

                STSType stsConfig = (STSType) new STSConfigParser().parse(stream);
                return new PicketLinkSTSConfiguration(stsConfig);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
View Full Code Here

TOP

Related Classes of org.picketlink.identity.federation.core.config.STSType

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.