Skip to content

Commit c614964

Browse files
authored
Add oidc scope configuration option (#5926)
1 parent dba7234 commit c614964

File tree

5 files changed

+19
-4
lines changed

5 files changed

+19
-4
lines changed

app/src/main/java/io/apicurio/registry/ui/config/UiConfigProperties.java

+9
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ public class UiConfigProperties {
9393
@Info(category = "ui", description = "UI auth OIDC redirect URL", availableSince = "2.2.6.Final")
9494
String oidcRedirectUri;
9595

96+
@Inject
97+
@ConfigProperty(name = "registry.ui.config.auth.oidc.scope", defaultValue = "openid profile email")
98+
@Info(category = "ui", description = "UI auth OIDC scope value", availableSince = "2.6.8.Final")
99+
String scope;
100+
96101
private final Map<String, Object> keycloakConfig;
97102

98103
/**
@@ -162,4 +167,8 @@ public String getOidcClientId() {
162167
public String getOidcRedirectUrl() {
163168
return oidcRedirectUri;
164169
}
170+
171+
public String getScope() {
172+
return scope;
173+
}
165174
}

app/src/main/java/io/apicurio/registry/ui/servlets/ConfigJsServlet.java

+1
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ private void configureAuth(ConfigJs config) {
113113
config.auth.options.put("clientId", uiConfig.getOidcClientId());
114114
config.auth.options.put("url", uiConfig.getOidcUrl());
115115
config.auth.options.put("redirectUri", uiConfig.getOidcRedirectUrl());
116+
config.auth.options.put("scope", uiConfig.getScope());
116117
}
117118

118119
config.auth.rbacEnabled = authConfig.isRbacEnabled();

app/src/main/resources/application.properties

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ registry.ui.config.auth.keycloak.onLoad=login-required
7878
registry.ui.config.auth.oidc.url=${REGISTRY_AUTH_URL_CONFIGURED:http://localhost:8090}
7979
registry.ui.config.auth.oidc.client-id=${REGISTRY_OIDC_UI_CLIENT_ID:default_client}
8080
registry.ui.config.auth.oidc.redirect-url=${REGISTRY_OIDC_UI_REDIRECT_URL:http://localhost:8080}
81+
registry.ui.config.auth.oidc.scope=${REGISTRY_OIDC_UI_SCOPE:openid email profile}
8182

8283

8384
quarkus.http.non-application-root-path=/

docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc

+5
Original file line numberDiff line numberDiff line change
@@ -737,6 +737,11 @@ The following {registry} configuration options are available for each component
737737
|`none`
738738
|`2.2.6.Final`
739739
|UI auth OIDC redirect URL
740+
|`registry.ui.config.auth.oidc.scope`
741+
|`string`
742+
|`openid profile email`
743+
|`2.6.8.Final`
744+
|UI auth OIDC scope value
740745
|`registry.ui.config.auth.oidc.url`
741746
|`string`
742747
|`none`

ui/src/services/auth/auth.service.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { LoggerService } from "../logger";
66
import { UsersService } from "../users";
77
import { User, UserManager, UserManagerSettings } from "oidc-client-ts";
88

9-
const KC_CONFIG_OPTIONS: string[] = ["url", "realm", "clientId", "redirectUri"];
9+
const KC_CONFIG_OPTIONS: string[] = ["url", "realm", "clientId", "redirectUri", "scope"];
1010
const KC_INIT_OPTIONS: string[] = [
1111
"useNonce", "adapter", "onLoad", "token", "refreshToken", "idToken", "timeSkew", "checkLoginIframe",
1212
"checkLoginIframeInterval", "responseMode", "redirectUri", "silentCheckSsoRedirectUri", "flow",
@@ -126,9 +126,8 @@ export class AuthService implements Service {
126126
client_id: configOptions.clientId,
127127
redirect_uri: configOptions.redirectUri,
128128
response_type: "code",
129-
scope: "openid profile email",
130-
filterProtocolClaims: true,
131-
loadUserInfo: true
129+
scope: configOptions.scope,
130+
filterProtocolClaims: true
132131
};
133132
}
134133

0 commit comments

Comments
 (0)