This is an automated email from the ASF dual-hosted git repository. riemer pushed a commit to branch make-user-info-optional in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 272d7c8c0ecf86efc420c93317d2410d42a6243f Author: Dominik Riemer <[email protected]> AuthorDate: Thu Feb 26 21:23:56 2026 +0100 feat: Make OAuth userinfo request optional --- .../service/core/oauth2/CustomOidcUserService.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/oauth2/CustomOidcUserService.java b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/oauth2/CustomOidcUserService.java index 881b333379..558fb870c3 100755 --- a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/oauth2/CustomOidcUserService.java +++ b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/oauth2/CustomOidcUserService.java @@ -19,6 +19,7 @@ package org.apache.streampipes.service.core.oauth2; +import org.apache.streampipes.commons.environment.Environments; import org.apache.streampipes.rest.security.OAuth2AuthenticationProcessingException; import org.springframework.security.core.AuthenticationException; @@ -28,9 +29,24 @@ import org.springframework.security.oauth2.core.OAuth2AuthenticationException; import org.springframework.security.oauth2.core.oidc.user.OidcUser; import org.springframework.stereotype.Service; +import java.util.Objects; + @Service public class CustomOidcUserService extends OidcUserService { + public CustomOidcUserService() { + var env = Environments.getEnvironment(); + this.setRetrieveUserInfo(req -> { + var config = env.getOAuthConfigurations() + .stream() + .filter(c -> c.getRegistrationId().equals(req.getClientRegistration().getRegistrationId())) + .findFirst(); + return config + .filter(oAuthConfiguration -> Objects.nonNull(oAuthConfiguration.getUserInfoUri())) + .isPresent(); + }); + } + @Override public OidcUser loadUser(OidcUserRequest userRequest) throws OAuth2AuthenticationException { OidcUser oidcUser = super.loadUser(userRequest);
