diff --git a/src/main/java/org/olat/login/oauth/spi/ADFSApi.java b/src/main/java/org/olat/login/oauth/spi/ADFSApi.java
index 6bcf60de12e66ba8ef885ab2314aefba995b5f55..fb58c3545eeaff6ba9aec5dcbdf7c61b093f8d40 100644
--- a/src/main/java/org/olat/login/oauth/spi/ADFSApi.java
+++ b/src/main/java/org/olat/login/oauth/spi/ADFSApi.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ExecutionException;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.helpers.Settings;
+import org.olat.core.util.StringHelper;
 import org.olat.login.oauth.OAuthLoginModule;
 
 import com.github.scribejava.core.builder.api.DefaultApi20;
@@ -117,7 +118,9 @@ public class ADFSApi extends DefaultApi20 {
 		throws InterruptedException, ExecutionException, IOException {
 			OAuthRequest request = new OAuthRequest(Verb.POST, api.getAccessTokenEndpoint());
 		    request.addBodyParameter(OAuthConstants.CLIENT_ID, getApiKey());
-            request.addBodyParameter(OAuthConstants.CLIENT_SECRET, getApiSecret());
+            if(StringHelper.containsNonWhitespace(getApiSecret())) {
+            	request.addBodyParameter(OAuthConstants.CLIENT_SECRET, getApiSecret());
+            }
             request.addBodyParameter(OAuthConstants.CODE, code);
             request.addBodyParameter(OAuthConstants.REDIRECT_URI, getCallback());
             request.addBodyParameter(GRANT_TYPE, GRANT_TYPE_AUTHORIZATION_CODE);