diff --git a/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java b/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java index 89d558c9cb9b..4fb2d45d7882 100755 --- a/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java +++ b/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java @@ -181,7 +181,9 @@ public Object getConfig() { .filter(clientScope -> Objects.equals(OIDCLoginProtocol.LOGIN_PROTOCOL, clientScope.getProtocol())) .map(ClientScopeModel::getName) .collect(Collectors.toList()); - scopeNames.add(0, OAuth2Constants.SCOPE_OPENID); + if (!scopeNames.contains(OAuth2Constants.SCOPE_OPENID)) { + scopeNames.add(0, OAuth2Constants.SCOPE_OPENID); + } config.setScopesSupported(scopeNames); }