File tree Expand file tree Collapse file tree
server/keycloak/src/main/java/com/recipefy/keycloak Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111import org .springframework .web .server .ResponseStatusException ;
1212import reactor .core .publisher .Mono ;
1313
14+ import java .util .UUID ;
15+
1416@ RestController
1517@ RequestMapping ("/auth" )
1618@ RequiredArgsConstructor
@@ -41,4 +43,9 @@ public Mono<UserInfoResponse> userInfo(@RequestHeader(HttpHeaders.AUTHORIZATION)
4143 public Mono <TokenResponse > refreshToken (@ Valid @ RequestBody RefreshTokenRequest request ) {
4244 return keycloakService .refreshToken (request );
4345 }
46+
47+ @ GetMapping ("/users/{userId}" )
48+ public Mono <UserDetails > getUser (@ PathVariable UUID userId ) {
49+ return keycloakService .getUser (userId );
50+ }
4451}
Original file line number Diff line number Diff line change 1+ package com .recipefy .keycloak .model ;
2+
3+ import lombok .Data ;
4+
5+ @ Data
6+ public class UserDetails {
7+ private String id ;
8+ private String username ;
9+ private String firstName ;
10+ private String lastName ;
11+ private String email ;
12+ private Boolean emailVerified ;
13+ }
Original file line number Diff line number Diff line change 1212import reactor .core .publisher .Mono ;
1313
1414import java .util .List ;
15+ import java .util .UUID ;
1516
1617@ Service
1718@ RequiredArgsConstructor
@@ -81,4 +82,11 @@ public Mono<TokenResponse> refreshToken(RefreshTokenRequest request) {
8182 .retrieve ()
8283 .bodyToMono (TokenResponse .class );
8384 }
85+
86+ public Mono <UserDetails > getUser (UUID userId ) {
87+ return keycloakAdminClient .get ()
88+ .uri (properties .getAdminUri () + "/users/" + userId )
89+ .retrieve ()
90+ .bodyToMono (UserDetails .class );
91+ }
8492}
You can’t perform that action at this time.
0 commit comments