Search in sources :

Example 6 with ConfigSource

use of org.skife.config.ConfigSource in project killbill by killbill.

the class TestJaxrsBase method beforeSuite.

@BeforeSuite(groups = "slow")
public void beforeSuite() throws Exception {
    if (hasFailed()) {
        return;
    }
    super.beforeSuite();
    // We need to setup these earlier than other tests because the server is started once in @BeforeSuite
    final KillbillConfigSource configSource = getConfigSource(extraPropertiesForTestSuite);
    final ConfigSource skifeConfigSource = new ConfigSource() {

        @Override
        public String getString(final String propertyName) {
            return configSource.getString(propertyName);
        }
    };
    final KillbillServerConfig serverConfig = new ConfigurationObjectFactory(skifeConfigSource).build(KillbillServerConfig.class);
    listener = new TestKillbillGuiceListener(serverConfig, configSource);
    config = new ConfigurationObjectFactory(System.getProperties()).build(HttpServerConfig.class);
    server = new HttpServer();
    server.configure(config, getListeners(), getFilters());
    server.start();
    callbackServlet = new CallbackServlet();
    callbackServer = new CallbackServer(callbackServlet);
    callbackServer.startServer();
}
Also used : KillbillConfigSource(org.killbill.billing.platform.api.KillbillConfigSource) ConfigSource(org.skife.config.ConfigSource) HttpServerConfig(org.killbill.billing.jetty.HttpServerConfig) KillbillServerConfig(org.killbill.billing.server.config.KillbillServerConfig) ConfigurationObjectFactory(org.skife.config.ConfigurationObjectFactory) HttpServer(org.killbill.billing.jetty.HttpServer) KillbillConfigSource(org.killbill.billing.platform.api.KillbillConfigSource) BeforeSuite(org.testng.annotations.BeforeSuite)

Example 7 with ConfigSource

use of org.skife.config.ConfigSource in project killbill by killbill.

the class KillBillShiroModule method configureShiro.

protected void configureShiro() {
    final RbacConfig config = new ConfigurationObjectFactory(new ConfigSource() {

        @Override
        public String getString(final String propertyName) {
            return configSource.getString(propertyName);
        }
    }).build(RbacConfig.class);
    bind(RbacConfig.class).toInstance(config);
    bind(RbacConfig.class).toInstance(config);
    final SecurityConfig securityConfig = new ConfigurationObjectFactory(skifeConfigSource).build(SecurityConfig.class);
    final Collection<Realm> realms = defaultSecurityManager.getRealms() != null ? defaultSecurityManager.getRealms() : // Mainly for testing
    ImmutableSet.<Realm>of(new IniRealm(securityConfig.getShiroResourcePath()));
    for (final Realm realm : realms) {
        bindRealm().toInstance(realm);
    }
    configureJDBCRealm();
    configureLDAPRealm();
    configureOktaRealm();
    configureAuth0Realm();
    expose(new TypeLiteral<Set<Realm>>() {
    });
}
Also used : KillbillConfigSource(org.killbill.billing.platform.api.KillbillConfigSource) ConfigSource(org.skife.config.ConfigSource) ImmutableSet(com.google.common.collect.ImmutableSet) Set(java.util.Set) SecurityConfig(org.killbill.billing.util.config.definition.SecurityConfig) ConfigurationObjectFactory(org.skife.config.ConfigurationObjectFactory) IniRealm(org.apache.shiro.realm.text.IniRealm) RbacConfig(org.killbill.billing.util.config.definition.RbacConfig) IniRealm(org.apache.shiro.realm.text.IniRealm) Realm(org.apache.shiro.realm.Realm) KillBillAuth0Realm(org.killbill.billing.util.security.shiro.realm.KillBillAuth0Realm) KillBillJdbcRealm(org.killbill.billing.util.security.shiro.realm.KillBillJdbcRealm) KillBillJndiLdapRealm(org.killbill.billing.util.security.shiro.realm.KillBillJndiLdapRealm) KillBillOktaRealm(org.killbill.billing.util.security.shiro.realm.KillBillOktaRealm)

Example 8 with ConfigSource

use of org.skife.config.ConfigSource in project killbill by killbill.

the class TestKillBillAuth0Realm method testCheckAuth0Connection.

@Test(groups = "external", enabled = false)
public void testCheckAuth0Connection() throws Exception {
    // Convenience method to verify your Auth0 connectivity
    final Properties props = new Properties();
    props.setProperty("org.killbill.security.auth0.url", "https://XXX.us.auth0.com");
    props.setProperty("org.killbill.security.auth0.clientId", "YYY");
    props.setProperty("org.killbill.security.auth0.clientSecret", "ZZZ");
    props.setProperty("org.killbill.security.auth0.apiIdentifier", "WWW");
    props.setProperty("org.killbill.security.auth0.databaseConnectionName", "Username-Password-Authentication");
    props.setProperty("org.killbill.security.auth0.allowedClockSkew", "2000s");
    final ConfigSource customConfigSource = new SimplePropertyConfigSource(props);
    final SecurityConfig securityConfig = new ConfigurationObjectFactory(customConfigSource).build(SecurityConfig.class);
    final KillBillAuth0Realm auth0Realm = new KillBillAuth0Realm(securityConfig, clock);
    final String username = "test@example.com";
    final String password = "password";
    // Check authentication
    final AuthenticationToken token = new UsernamePasswordToken(username, password);
    final AuthenticationInfo authenticationInfo = auth0Realm.getAuthenticationInfo(token);
    System.out.println(authenticationInfo);
    // Check permissions
    final PrincipalCollection principals = new SimplePrincipalCollection(username, username);
    final AuthorizationInfo authorizationInfo = auth0Realm.doGetAuthorizationInfo(principals);
    System.out.println("Roles: " + authorizationInfo.getRoles());
    System.out.println("Permissions: " + authorizationInfo.getStringPermissions());
    // Check JWT
    final Claims claims = auth0Realm.verifyJWT("JWT");
    System.out.println("Token claims: " + claims);
}
Also used : SimplePropertyConfigSource(org.skife.config.SimplePropertyConfigSource) AuthenticationToken(org.apache.shiro.authc.AuthenticationToken) Claims(io.jsonwebtoken.Claims) ConfigurationObjectFactory(org.skife.config.ConfigurationObjectFactory) PrincipalCollection(org.apache.shiro.subject.PrincipalCollection) SimplePrincipalCollection(org.apache.shiro.subject.SimplePrincipalCollection) SimplePrincipalCollection(org.apache.shiro.subject.SimplePrincipalCollection) Properties(java.util.Properties) AuthorizationInfo(org.apache.shiro.authz.AuthorizationInfo) AuthenticationInfo(org.apache.shiro.authc.AuthenticationInfo) UsernamePasswordToken(org.apache.shiro.authc.UsernamePasswordToken) SimplePropertyConfigSource(org.skife.config.SimplePropertyConfigSource) ConfigSource(org.skife.config.ConfigSource) SecurityConfig(org.killbill.billing.util.config.definition.SecurityConfig) Test(org.testng.annotations.Test)

Aggregations

ConfigSource (org.skife.config.ConfigSource)8 ConfigurationObjectFactory (org.skife.config.ConfigurationObjectFactory)7 SecurityConfig (org.killbill.billing.util.config.definition.SecurityConfig)5 KillbillConfigSource (org.killbill.billing.platform.api.KillbillConfigSource)4 Properties (java.util.Properties)3 AuthenticationInfo (org.apache.shiro.authc.AuthenticationInfo)3 UsernamePasswordToken (org.apache.shiro.authc.UsernamePasswordToken)3 AuthorizationInfo (org.apache.shiro.authz.AuthorizationInfo)3 SimplePrincipalCollection (org.apache.shiro.subject.SimplePrincipalCollection)3 SimplePropertyConfigSource (org.skife.config.SimplePropertyConfigSource)3 Test (org.testng.annotations.Test)3 ImmutableSet (com.google.common.collect.ImmutableSet)2 Set (java.util.Set)2 Realm (org.apache.shiro.realm.Realm)2 IniRealm (org.apache.shiro.realm.text.IniRealm)2 RedisCacheConfig (org.killbill.billing.util.config.definition.RedisCacheConfig)2 KillBillAuth0Realm (org.killbill.billing.util.security.shiro.realm.KillBillAuth0Realm)2 KillBillJdbcRealm (org.killbill.billing.util.security.shiro.realm.KillBillJdbcRealm)2 KillBillJndiLdapRealm (org.killbill.billing.util.security.shiro.realm.KillBillJndiLdapRealm)2 KillBillOktaRealm (org.killbill.billing.util.security.shiro.realm.KillBillOktaRealm)2