This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new b3a37e6d4f feat: Make OAuth userinfo request optional (#4205)
b3a37e6d4f is described below

commit b3a37e6d4f296772b972cdb193c0eac2720a2e25
Author: Dominik Riemer <[email protected]>
AuthorDate: Fri Feb 27 08:34:29 2026 +0100

    feat: Make OAuth userinfo request optional (#4205)
---
 .../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);

Reply via email to