From 4edd73fc42b6e3152e1c5aee96e2be8ccb69c292 Mon Sep 17 00:00:00 2001 From: Hiroyuki Wada Date: Fri, 11 Aug 2023 14:24:36 +0900 Subject: [PATCH] feat: update to keycloak 22.0.1 (Support new admin console) --- pom.xml | 8 +- .../discord/DiscordIdentityProvider.java | 2 +- .../DiscordIdentityProviderConfig.java | 6 +- .../DiscordIdentityProviderFactory.java | 17 ++- .../discord/DiscordUserAttributeMapper.java | 20 +-- .../messages/admin-messages_en.properties | 7 - .../realm-identity-provider-discord-ext.html | 7 - .../realm-identity-provider-discord.html | 144 ------------------ 8 files changed, 34 insertions(+), 177 deletions(-) delete mode 100755 src/main/resources/theme-resources/messages/admin-messages_en.properties delete mode 100755 src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord-ext.html delete mode 100755 src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord.html diff --git a/pom.xml b/pom.xml index 0bcc03a..06a85b4 100755 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ jar - 17.0.0 + 22.0.1 @@ -46,10 +46,10 @@ org.apache.maven.plugins maven-compiler-plugin - 2.3.2 + 3.11.0 - 1.8 - 1.8 + 17 + 17 diff --git a/src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java b/src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java index 10f183e..8aa6fbc 100755 --- a/src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java +++ b/src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java @@ -18,6 +18,7 @@ package org.keycloak.social.discord; import com.fasterxml.jackson.databind.JsonNode; +import jakarta.ws.rs.core.Response; import org.jboss.logging.Logger; import org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider; import org.keycloak.broker.oidc.mappers.AbstractJsonUserAttributeMapper; @@ -30,7 +31,6 @@ import org.keycloak.services.ErrorPageException; import org.keycloak.services.messages.Messages; -import javax.ws.rs.core.Response; import java.util.Set; /** diff --git a/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java b/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java index 2df21f2..099a989 100755 --- a/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java +++ b/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java @@ -17,14 +17,14 @@ package org.keycloak.social.discord; +import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig; +import org.keycloak.models.IdentityProviderModel; + import java.util.Arrays; import java.util.Collections; import java.util.Set; import java.util.stream.Collectors; -import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig; -import org.keycloak.models.IdentityProviderModel; - /** * @author Hiroyuki Wada */ diff --git a/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java b/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java index 1e9cfd3..d441458 100755 --- a/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java +++ b/src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java @@ -17,11 +17,14 @@ package org.keycloak.social.discord; -import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig; import org.keycloak.broker.provider.AbstractIdentityProviderFactory; import org.keycloak.broker.social.SocialIdentityProviderFactory; import org.keycloak.models.IdentityProviderModel; import org.keycloak.models.KeycloakSession; +import org.keycloak.provider.ProviderConfigProperty; +import org.keycloak.provider.ProviderConfigurationBuilder; + +import java.util.List; /** * @author Hiroyuki Wada @@ -46,6 +49,18 @@ public DiscordIdentityProviderConfig createConfig() { return new DiscordIdentityProviderConfig(); } + @Override + public List getConfigProperties() { + return ProviderConfigurationBuilder.create() + .property() + .name("allowedGuilds") + .type(ProviderConfigProperty.STRING_TYPE) + .label("Guild Id(s) to allow federation") + .helpText("If you want to allow federation for specific guild, enter the guild id. Please use a comma as a separator for multiple guilds.") + .add() + .build(); + } + @Override public String getId() { return PROVIDER_ID; diff --git a/src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java b/src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java index 2fc3cfc..12e4fdc 100644 --- a/src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java +++ b/src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java @@ -21,21 +21,21 @@ /** * User attribute mapper. - * + * * @author dannyAAM */ public class DiscordUserAttributeMapper extends AbstractJsonUserAttributeMapper { - private static final String[] cp = new String[] { DiscordIdentityProviderFactory.PROVIDER_ID }; + private static final String[] cp = new String[]{DiscordIdentityProviderFactory.PROVIDER_ID}; - @Override - public String[] getCompatibleProviders() { - return cp; - } + @Override + public String[] getCompatibleProviders() { + return cp; + } - @Override - public String getId() { - return "discord-user-attribute-mapper"; - } + @Override + public String getId() { + return "discord-user-attribute-mapper"; + } } diff --git a/src/main/resources/theme-resources/messages/admin-messages_en.properties b/src/main/resources/theme-resources/messages/admin-messages_en.properties deleted file mode 100755 index 8b39257..0000000 --- a/src/main/resources/theme-resources/messages/admin-messages_en.properties +++ /dev/null @@ -1,7 +0,0 @@ -discord-client-id=Client Id -discord-client-secret=Client Secret -discord-allowed-guilds=Guild Id(s) to allow federation -discord.client-id.tooltip=Client Id for the application you created in your discord developer portal. -discord.client-secret.tooltip=Client Secret for the application that you created in your discord developer portal. -discord.allowed-guilds.tooltip=If you want to allow federation for specific guild, enter the guild id. Please use a comma as a separator for multiple guilds. -discord.default-scopes.tooltip=The scopes to be sent when asking for authorization. See discord OAuth2 documentation for possible values. If you do not specify anything, scope defaults to 'identify email' In addition, plus 'guilds' if you enter guild id(s) to allow federation. \ No newline at end of file diff --git a/src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord-ext.html b/src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord-ext.html deleted file mode 100755 index 320fa2c..0000000 --- a/src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord-ext.html +++ /dev/null @@ -1,7 +0,0 @@ -
- -
- -
- {{:: 'discord.allowed-guilds.tooltip' | translate}} -
\ No newline at end of file diff --git a/src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord.html b/src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord.html deleted file mode 100755 index 75b4a7c..0000000 --- a/src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord.html +++ /dev/null @@ -1,144 +0,0 @@ -
- - - - -
-
-
- -
- -
- {{:: 'redirect-uri.tooltip' | translate}} -
-
-
-
- -
- -
- {{:: 'discord.client-id.tooltip' | translate}} -
-
- -
- -
- {{:: 'discord.client-secret.tooltip' | translate}} -
-
-
- -
- -
- {{:: 'discord.default-scopes.tooltip' | translate}} -
-
- -
- -
- {{:: 'identity-provider.store-tokens.tooltip' | translate}} -
-
- -
- -
- {{:: 'identity-provider.stored-tokens-readable.tooltip' | translate}} -
-
- -
- -
- {{:: 'identity-provider.enabled.tooltip' | translate}} -
-
- -
- -
- {{:: 'trust-email.tooltip' | translate}} -
-
- -
- -
- {{:: 'link-only.tooltip' | translate}} -
-
- -
- -
- {{:: 'hide-on-login-page.tooltip' | translate}} -
-
- -
- -
- {{:: 'gui-order.tooltip' | translate}} -
-
- -
-
- -
-
- {{:: 'first-broker-login-flow.tooltip' | translate}} -
-
- -
-
- -
-
- {{:: 'post-broker-login-flow.tooltip' | translate}} -
-
- -
-
- -
-
- {{:: 'prompt.tooltip' | translate}} -
- -
- -
-
- - -
-
-
-
- -