diff --git a/src/main/java/org/olat/dispatcher/DMZDispatcher.java b/src/main/java/org/olat/dispatcher/DMZDispatcher.java index 4a7deb6ebdc22cd0766b63b26276ae7ebeb9210f..51e0b38c0a05ee537066110d52a5d9e7b15485f2 100644 --- a/src/main/java/org/olat/dispatcher/DMZDispatcher.java +++ b/src/main/java/org/olat/dispatcher/DMZDispatcher.java @@ -294,12 +294,8 @@ public class DMZDispatcher implements Dispatcher { canRedirect = false; } else if(StringHelper.containsNonWhitespace(request.getParameter("logout"))) { canRedirect = false; - } else if(oauthModule.isAdfsRootEnabled()) { - if(oauthModule.getRootProvider() != null) { - canRedirect = true; - } else { - canRedirect = false; - } + } else if(oauthModule.getRootProvider() != null) { + canRedirect = true; } else { canRedirect = false; } diff --git a/src/main/java/org/olat/login/oauth/OAuthLoginModule.java b/src/main/java/org/olat/login/oauth/OAuthLoginModule.java index 9c4865547c3b5e1c560e27b405ac80b7c8e8f752..afbadd2407986f8218ff2350790ec6780a361a86 100644 --- a/src/main/java/org/olat/login/oauth/OAuthLoginModule.java +++ b/src/main/java/org/olat/login/oauth/OAuthLoginModule.java @@ -24,7 +24,6 @@ import java.util.List; import org.olat.core.configuration.AbstractSpringModule; import org.olat.core.util.coordinate.CoordinatorManager; -import org.olat.login.oauth.spi.ADFSProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -142,10 +141,8 @@ public class OAuthLoginModule extends AbstractSpringModule { OAuthSPI rootSpi = null; if(oauthSPIs != null) { for(OAuthSPI spi:oauthSPIs) { - if(spi.isEnabled() && spi instanceof ADFSProvider) { - if(adfsRootEnabled) { - rootSpi = spi; - } + if(spi.isEnabled() && spi.isRootEnabled()) { + rootSpi = spi; } } } diff --git a/src/main/java/org/olat/login/oauth/OAuthSPI.java b/src/main/java/org/olat/login/oauth/OAuthSPI.java index 24fa61f9590a8ee6bb713597e29e40507e36275b..b0b2513e13553489a36d4f9c54f1e4e938699a9f 100644 --- a/src/main/java/org/olat/login/oauth/OAuthSPI.java +++ b/src/main/java/org/olat/login/oauth/OAuthSPI.java @@ -37,6 +37,8 @@ public interface OAuthSPI extends ConfigOnOff { public String getName(); + public boolean isRootEnabled(); + /** * Limit of 8 characters * @return diff --git a/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java b/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java index 13c3062dfa9fae2633b42f4c45ca410c6afa325f..b9fd717b3ce48e3d95088db9443917ddf6fc68c9 100644 --- a/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java +++ b/src/main/java/org/olat/login/oauth/spi/ADFSProvider.java @@ -52,6 +52,11 @@ public class ADFSProvider implements OAuthSPI { return oauthModule.isAdfsEnabled(); } + @Override + public boolean isRootEnabled() { + return oauthModule.isAdfsRootEnabled(); + } + @Override public Class<? extends Api> getScribeProvider() { return ADFSApi.class; diff --git a/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java b/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java index 1d1635075fb6d693ee05e2e8010a3145311dedce..6c07c713331dfbf1e6849196a97612ee4d71447c 100644 --- a/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java +++ b/src/main/java/org/olat/login/oauth/spi/FacebookProvider.java @@ -56,6 +56,11 @@ public class FacebookProvider implements OAuthSPI { return oauthModule.isFacebookEnabled(); } + @Override + public boolean isRootEnabled() { + return false; + } + @Override public Class<? extends Api> getScribeProvider() { return FacebookApi.class; diff --git a/src/main/java/org/olat/login/oauth/spi/Google2Provider.java b/src/main/java/org/olat/login/oauth/spi/Google2Provider.java index 8d6d49cb4d9a5f5ef7543be4e612d7782b67940a..88828199e1fec9049a5b8897fa5d2021e420aa25 100644 --- a/src/main/java/org/olat/login/oauth/spi/Google2Provider.java +++ b/src/main/java/org/olat/login/oauth/spi/Google2Provider.java @@ -54,6 +54,11 @@ public class Google2Provider implements OAuthSPI { public boolean isEnabled() { return oauthModule.isGoogleEnabled(); } + + @Override + public boolean isRootEnabled() { + return false; + } @Override public Class<? extends Api> getScribeProvider() { diff --git a/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java b/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java index c86fb72596e871c8d6642d81142390e337524428..0864f2be188e697713cf73b8f0c683b9c9adb20f 100644 --- a/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java +++ b/src/main/java/org/olat/login/oauth/spi/LinkedInProvider.java @@ -66,6 +66,11 @@ public class LinkedInProvider implements OAuthSPI { public boolean isEnabled() { return oauthModule.isLinkedInEnabled(); } + + @Override + public boolean isRootEnabled() { + return false; + } @Override public String getName() { diff --git a/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java b/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java index 2203c4c743252f20c151e4d55f20eb31faa36298..56c1653607fd3acbda6f2c1895ec8d08816eacdf 100644 --- a/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java +++ b/src/main/java/org/olat/login/oauth/spi/TwitterProvider.java @@ -55,6 +55,11 @@ public class TwitterProvider implements OAuthSPI { public boolean isEnabled() { return oauthModule.isTwitterEnabled(); } + + @Override + public boolean isRootEnabled() { + return false; + } @Override public Class<? extends Api> getScribeProvider() {