Search in sources :

Example 11 with SyncedIdentity

use of org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity in project jackrabbit-oak by apache.

the class DefaultSyncContextTest method testSyncExternalToExistingLocalGroup.

@Test
public void testSyncExternalToExistingLocalGroup() throws Exception {
    ExternalGroup external = idp.listGroups().next();
    syncCtx.sync(external);
    Group gr = userManager.getAuthorizable(external.getId(), Group.class);
    gr.removeProperty(ExternalIdentityConstants.REP_EXTERNAL_ID);
    SyncResult result = syncCtx.sync(external);
    assertEquals(SyncResult.Status.FOREIGN, result.getStatus());
    SyncedIdentity si = result.getIdentity();
    assertNotNull(si);
    assertEquals(external.getExternalId(), si.getExternalIdRef());
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) SyncResult(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncResult) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 12 with SyncedIdentity

use of org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity in project jackrabbit-oak by apache.

the class DefaultSyncHandlerTest method testListIdentitiesAfterSync.

@Test
public void testListIdentitiesAfterSync() throws Exception {
    sync(USER_ID, false);
    // membership-nesting is 1 => expect only 'USER_ID' plus the declared group-membership
    Set<String> expected = Sets.newHashSet(USER_ID);
    for (ExternalIdentityRef extRef : idp.getUser(USER_ID).getDeclaredGroups()) {
        expected.add(extRef.getId());
    }
    Iterator<SyncedIdentity> identities = syncHandler.listIdentities(userManager);
    while (identities.hasNext()) {
        SyncedIdentity si = identities.next();
        if (expected.contains(si.getId())) {
            expected.remove(si.getId());
            assertNotNull(si.getExternalIdRef());
        } else {
            fail("Sync handler returned unexpected identity: " + si);
        }
    }
    assertTrue(expected.isEmpty());
}
Also used : ExternalIdentityRef(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef) DefaultSyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncedIdentity) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) Test(org.junit.Test)

Example 13 with SyncedIdentity

use of org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity in project jackrabbit-oak by apache.

the class DefaultSyncHandlerTest method testListIdentitiesBeforeSync.

@Test
public void testListIdentitiesBeforeSync() throws Exception {
    Iterator<SyncedIdentity> identities = syncHandler.listIdentities(userManager);
    if (identities.hasNext()) {
        SyncedIdentity si = identities.next();
        fail("Sync handler returned unexpected identity: " + si);
    }
}
Also used : DefaultSyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncedIdentity) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) Test(org.junit.Test)

Example 14 with SyncedIdentity

use of org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity in project jackrabbit-oak by apache.

the class ListIdentitiesTest method runTest.

@Override
protected void runTest() throws Exception {
    JackrabbitSession s = ((JackrabbitSession) systemLogin());
    try {
        UserManager userManager = s.getUserManager();
        Iterator<SyncedIdentity> it = syncHandler.listIdentities(userManager);
        while (it.hasNext()) {
            it.next();
        }
    } finally {
        s.logout();
    }
}
Also used : UserManager(org.apache.jackrabbit.api.security.user.UserManager) JackrabbitSession(org.apache.jackrabbit.api.JackrabbitSession) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity)

Example 15 with SyncedIdentity

use of org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity in project jackrabbit-oak by apache.

the class DefaultSyncedIdentityTest method testGetExternalIdRef.

@Test
public void testGetExternalIdRef() {
    assertEquals(externalUser.getExternalId(), si.getExternalIdRef());
    assertEquals(externalGroup.getExternalId(), siGroup.getExternalIdRef());
    SyncedIdentity siNullExtRef = new DefaultSyncedIdentity(TestIdentityProvider.ID_TEST_USER, null, false, 234);
    assertNull(siNullExtRef.getExternalIdRef());
}
Also used : SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) Test(org.junit.Test)

Aggregations

SyncedIdentity (org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity)34 Test (org.junit.Test)30 AbstractExternalAuthTest (org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest)15 DefaultSyncedIdentity (org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncedIdentity)13 SyncResult (org.apache.jackrabbit.oak.spi.security.authentication.external.SyncResult)11 Authorizable (org.apache.jackrabbit.api.security.user.Authorizable)6 ExternalIdentityRef (org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef)6 ExternalGroup (org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup)5 Group (org.apache.jackrabbit.api.security.user.Group)4 User (org.apache.jackrabbit.api.security.user.User)4 ExternalIdentity (org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity)4 ExternalUser (org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser)4 SimpleCredentials (javax.jcr.SimpleCredentials)3 RepositoryException (javax.jcr.RepositoryException)2 ArrayList (java.util.ArrayList)1 Calendar (java.util.Calendar)1 Nonnull (javax.annotation.Nonnull)1 Value (javax.jcr.Value)1 LoginException (javax.security.auth.login.LoginException)1 JackrabbitSession (org.apache.jackrabbit.api.JackrabbitSession)1