From c60c4978df04fa860e645981fbe063e6e64861d5 Mon Sep 17 00:00:00 2001 From: kritzl Date: Sat, 1 Nov 2025 01:49:54 +0100 Subject: [PATCH] fix: use list instead of consumed stream --- .../keycloak/ssh_key/SSHKeyResourceProvider.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java b/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java index 000abd2..01fab43 100644 --- a/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java +++ b/ssh-key-provider/src/main/java/de/ccc/hamburg/keycloak/ssh_key/SSHKeyResourceProvider.java @@ -53,10 +53,11 @@ public class SSHKeyResourceProvider implements RealmResourceProvider { UserProfileProvider profileProvider = session.getProvider(UserProfileProvider.class); UPConfig upconfig = profileProvider.getConfiguration(); - Stream attributeNames = upconfig.getAttributes() + List attributeNames = upconfig.getAttributes() .stream() .filter(a -> a.getGroup() != null && a.getGroup().equals("de.ccc.hamburg.keycloak.ssh_key.keys")) - .map(a -> a.getName()); + .map(a -> a.getName()) + .toList(); try { AuthHelper.getAuth( @@ -73,10 +74,11 @@ public class SSHKeyResourceProvider implements RealmResourceProvider { List keys = users .map(user -> { return attributeNames - .map(attributeName -> user.getAttributeStream(attributeName).findFirst()) - .filter(attribute -> attribute.isPresent()) - .map(attribute -> attribute.get()) - .toList(); + .stream() + .map(attributeName -> user.getAttributeStream(attributeName).findFirst()) + .filter(attribute -> attribute.isPresent()) + .map(attribute -> attribute.get()) + .toList(); }) .flatMap(List::stream) .map(key -> {