From aa6e6a1e19d585435a0e3b84c8d93396998907ba Mon Sep 17 00:00:00 2001
From: Daniel Ramos <daramos@fsw.edu>
Date: Tue, 29 Mar 2022 21:13:09 +0000
Subject: [PATCH] validate endpoint should also return username

---
 src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java |   14 +-------------
 1 files changed, 1 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java b/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
index 291b74e..fa56d4f 100644
--- a/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
+++ b/src/main/java/org/keycloak/protocol/cas/endpoints/ServiceValidateEndpoint.java
@@ -27,19 +27,7 @@
     @Override
     protected Response successResponse() {
         UserSessionModel userSession = clientSession.getUserSession();
-        // CAS protocol does not support scopes, so pass null scopeParam
-        ClientSessionContext clientSessionCtx = DefaultClientSessionContext.fromClientSessionAndScopeParameter(clientSession, null);
-
-        Set<ProtocolMapperModel> mappings = clientSessionCtx.getProtocolMappers();
-        KeycloakSessionFactory sessionFactory = session.getKeycloakSessionFactory();
-        Map<String, Object> attributes = new HashMap<>();
-        for (ProtocolMapperModel mapping : mappings) {
-            ProtocolMapper mapper = (ProtocolMapper) sessionFactory.getProviderFactory(ProtocolMapper.class, mapping.getProtocolMapper());
-            if (mapper instanceof CASAttributeMapper) {
-                ((CASAttributeMapper) mapper).setAttribute(attributes, mapping, userSession, session, clientSessionCtx);
-            }
-        }
-
+        Map<String, Object> attributes = getUserAttributes();
         CASServiceResponse serviceResponse = ServiceResponseHelper.createSuccess(userSession.getUser().getUsername(), attributes);
         return prepare(Response.Status.OK, serviceResponse);
     }

--
Gitblit v1.9.1