You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2016/05/11 12:55:11 UTC
svn commit: r1743351 - in /jackrabbit/oak/trunk/oak-auth-external/src:
main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/
test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/
Author: angela
Date: Wed May 11 12:55:11 2016
New Revision: 1743351
URL: http://svn.apache.org/viewvc?rev=1743351&view=rev
Log:
OAK-4346 : SyncMBeanImpl.syncExternalUsers doesn't check for foreign IDP
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImplTest.java
Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java?rev=1743351&r1=1743350&r2=1743351&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/Delegatee.java Wed May 11 12:55:11 2016
@@ -173,24 +173,28 @@ final class Delegatee {
context.setForceGroupSync(forceGroupSync).setForceUserSync(true);
for (String externalId : externalIds) {
ExternalIdentityRef ref = ExternalIdentityRef.fromString(externalId);
- try {
- ExternalIdentity id = idp.getIdentity(ref);
- SyncResult r;
- if (id != null) {
- r = syncUser(id);
- } else {
- r = new DefaultSyncResultImpl(
- new DefaultSyncedIdentity("", ref, false, -1),
- SyncResult.Status.NO_SUCH_IDENTITY
- );
+ if (!idp.getName().equals(ref.getProviderName())) {
+ append(list, new DefaultSyncResultImpl(new DefaultSyncedIdentity(ref.getId(), ref, false, -1), SyncResult.Status.FOREIGN));
+ } else {
+ try {
+ ExternalIdentity id = idp.getIdentity(ref);
+ SyncResult r;
+ if (id != null) {
+ r = syncUser(id);
+ } else {
+ r = new DefaultSyncResultImpl(
+ new DefaultSyncedIdentity("", ref, false, -1),
+ SyncResult.Status.NO_SUCH_IDENTITY
+ );
+ }
+ append(list, r);
+ } catch (ExternalIdentityException e) {
+ log.warn("error while fetching the external identity {}", externalId, e);
+ append(list, ref, e);
+ } catch (SyncException e) {
+ log.error(ERROR_SYNC_USER, ref, e);
+ append(list, ref, e);
}
- append(list, r);
- } catch (ExternalIdentityException e) {
- log.warn("error while fetching the external identity {}", externalId, e);
- append(list, ref, e);
- } catch (SyncException e) {
- log.error(ERROR_SYNC_USER, ref, e);
- append(list, ref, e);
}
}
return list.toArray(new String[list.size()]);
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImplTest.java?rev=1743351&r1=1743350&r2=1743351&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SyncMBeanImplTest.java Wed May 11 12:55:11 2016
@@ -492,7 +492,6 @@ public class SyncMBeanImplTest {
/**
* @see <a href="https://issues.apache.org/jira/browse/OAK-4346">OAK-4346</a>
*/
- @Ignore("OAK-4346")
@Test
public void testSyncExternalLocal() throws Exception {
ExternalIdentityRef ref = new ExternalIdentityRef(UserConstants.DEFAULT_ANONYMOUS_ID, null);
@@ -504,7 +503,6 @@ public class SyncMBeanImplTest {
/**
* @see <a href="https://issues.apache.org/jira/browse/OAK-4346">OAK-4346</a>
*/
- @Ignore("OAK-4346")
@Test
public void testSyncExternalForeign() throws Exception {
ExternalIdentityRef ref = new ExternalIdentityRef(TestIdentityProvider.ID_TEST_USER, "anotherIDP");
@@ -518,7 +516,7 @@ public class SyncMBeanImplTest {
@Test
public void testSyncExternalUserException() throws Exception {
- String[] result = syncMBean.syncExternalUsers(new String[] {TestIdentityProvider.ID_EXCEPTION});
+ String[] result = syncMBean.syncExternalUsers(new String[] {new ExternalIdentityRef(TestIdentityProvider.ID_EXCEPTION, idp.getName()).getString()});
assertResultMessages(result, 1, "ERR");
}