<div dir="ltr">Hi All,<div><br></div><div>Am trying to get the name and surname of the currently connected user by doing this :</div><div><br></div><div><div>import java.io.Serializable;</div><div>import java.security.Principal;</div><div><br></div><div>import javax.annotation.Resource;</div><div>import javax.annotation.security.RolesAllowed;</div><div>import javax.ejb.EJBContext;</div><div>import javax.ejb.LocalBean;</div><div>import javax.ejb.Stateless;</div><div><br></div><div>import org.jboss.ejb3.annotation.SecurityDomain;</div><div><br></div><div><br></div><div>@Stateless(name=&quot;myEJB&quot;)</div><div>@LocalBean</div><div>@SecurityDomain(&quot;keycloak&quot;)</div><div>public class MyEJB implements Serializable {</div><div><br></div><div>    private static final long serialVersionUID = 1L;</div><div><br></div><div>    @Resource</div><div>    private EJBContext ejbContext;</div><div>    </div><div>    @RolesAllowed(&quot;ADMIN&quot;)</div><div>    public void test() {</div><div>        Principal principal = ejbContext.getCallerPrincipal();</div><div>        System.out.println(&quot;principal.getName() = &quot; + principal.getName());</div><div>    }</div><div>}</div></div><div><br></div><div>This works nicely as i get a 403 if my currently connected user does have the role : ADMIN.</div><div><br></div><div>My question is : does keycloak propagate the username or any other information that would help me get the first name and last name of the currently connected user ? Unfortunately, principal.getName() returns a string like this : edd42240-85bf-4724-8d79-5374338506b7 which i don&#39;t know the interpretation !<br></div><div><br></div><div>Thanks for any help.</div></div>