Browse Source

refactor: use constants and simplify conditional logic

pull/64/head
Kevin Paul 3 weeks ago
parent
commit
585a7ed577
  1. 7
      src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java
  2. 13
      src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java

7
src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java

@ -131,11 +131,10 @@ public class DiscordIdentityProvider extends AbstractOAuth2IdentityProvider<Disc
throw new IdentityBrokerException("Could not obtain user profile from discord.", e);
}
if (getConfig().hasAllowedGuilds()) {
if (!isAllowedGuild(accessToken)) {
throw new ErrorPageException(session, Response.Status.FORBIDDEN, Messages.INVALID_REQUESTER);
}
if (getConfig().hasAllowedGuilds() && !isAllowedGuild(accessToken)) {
throw new ErrorPageException(session, Response.Status.FORBIDDEN, Messages.INVALID_REQUESTER);
}
return extractIdentityFromProfile(null, profile);
}

13
src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java

@ -30,6 +30,9 @@ import java.util.stream.Collectors;
*/
public class DiscordIdentityProviderConfig extends OAuth2IdentityProviderConfig {
public static final String ALLOWED_GUILDS = "allowedGuilds";
public static final String PROMPT = "prompt";
public DiscordIdentityProviderConfig(IdentityProviderModel model) {
super(model);
}
@ -38,27 +41,27 @@ public class DiscordIdentityProviderConfig extends OAuth2IdentityProviderConfig
}
public String getAllowedGuilds() {
return getConfig().get("allowedGuilds");
return getConfig().get(ALLOWED_GUILDS);
}
public void setAllowedGuilds(String allowedGuilds) {
getConfig().put("allowedGuilds", allowedGuilds);
getConfig().put(ALLOWED_GUILDS, allowedGuilds);
}
public boolean hasAllowedGuilds() {
String guilds = getConfig().get("allowedGuilds");
String guilds = getConfig().get(ALLOWED_GUILDS);
return guilds != null && !guilds.trim().isEmpty();
}
public Set<String> getAllowedGuildsAsSet() {
if (hasAllowedGuilds()) {
String guilds = getConfig().get("allowedGuilds");
String guilds = getConfig().get(ALLOWED_GUILDS);
return Arrays.stream(guilds.split(",")).map(x -> x.trim()).collect(Collectors.toSet());
}
return Collections.emptySet();
}
public void setPrompt(String prompt) {
getConfig().put("prompt", prompt);
getConfig().put(PROMPT, prompt);
}
}
Loading…
Cancel
Save