hr cv
This commit is contained in:
@@ -60,6 +60,12 @@ public class AuthController {
|
|||||||
.map(ResponseEntity::ok);
|
.map(ResponseEntity::ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/devops-guest-token")
|
||||||
|
public Mono<ResponseEntity<RagResponse<UserProfileDTO>>> devopsGuestToken() {
|
||||||
|
return authService.devopsGuestToken()
|
||||||
|
.map(ResponseEntity::ok);
|
||||||
|
}
|
||||||
|
|
||||||
private void addAuthCookie(ServerHttpResponse response, String token) {
|
private void addAuthCookie(ServerHttpResponse response, String token) {
|
||||||
ResponseCookie cookie = ResponseCookie.from("Authorization", token)
|
ResponseCookie cookie = ResponseCookie.from("Authorization", token)
|
||||||
.httpOnly(true)
|
.httpOnly(true)
|
||||||
|
|||||||
@@ -34,9 +34,13 @@ public class AuthService {
|
|||||||
private final RefreshTokenRepository refreshTokenRepository;
|
private final RefreshTokenRepository refreshTokenRepository;
|
||||||
private final JwtTokenProvider jwtTokenProvider;
|
private final JwtTokenProvider jwtTokenProvider;
|
||||||
private final PasswordEncoder passwordEncoder;
|
private final PasswordEncoder passwordEncoder;
|
||||||
|
|
||||||
@Value("${hr-guest.email}")
|
@Value("${hr-guest.email}")
|
||||||
private String hrGuestEmail;
|
private String hrGuestEmail;
|
||||||
|
|
||||||
|
@Value("${devops-guest.email}")
|
||||||
|
private String devopsGuestEmail;
|
||||||
|
|
||||||
public Mono<RagResponse<UserProfileDTO>> login(LoginRequest request) {
|
public Mono<RagResponse<UserProfileDTO>> login(LoginRequest request) {
|
||||||
return userRepository.findByEmail(request.getEmail().toLowerCase())
|
return userRepository.findByEmail(request.getEmail().toLowerCase())
|
||||||
.switchIfEmpty(Mono.error(new ResponseStatusException(
|
.switchIfEmpty(Mono.error(new ResponseStatusException(
|
||||||
@@ -118,6 +122,17 @@ public class AuthService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Mono<RagResponse<UserProfileDTO>> devopsGuestToken() {
|
||||||
|
return userRepository.findByEmail(devopsGuestEmail)
|
||||||
|
.switchIfEmpty(Mono.error(new ResponseStatusException(
|
||||||
|
HttpStatus.NOT_FOUND, "DevOps guest user not found")))
|
||||||
|
.map(user -> {
|
||||||
|
String accessToken = jwtTokenProvider.generateHrGuestToken(user);
|
||||||
|
UserProfileDTO dto = toUserProfileDto(user, accessToken, null);
|
||||||
|
return RagResponse.createSuccessfulWithNewToken(dto);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private Mono<RagResponse<UserProfileDTO>> generateTokensAndBuildResponse(User user) {
|
private Mono<RagResponse<UserProfileDTO>> generateTokensAndBuildResponse(User user) {
|
||||||
return refreshTokenRepository.findByUserId(user.getId())
|
return refreshTokenRepository.findByUserId(user.getId())
|
||||||
.flatMap(existing -> {
|
.flatMap(existing -> {
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ spring:
|
|||||||
# ---- Guest user (portfolio chat) ----
|
# ---- Guest user (portfolio chat) ----
|
||||||
hr-guest:
|
hr-guest:
|
||||||
email: ${HR_GUEST_EMAIL:}
|
email: ${HR_GUEST_EMAIL:}
|
||||||
|
devops-guest:
|
||||||
|
email: ${DEVOPS_GUEST_EMAIL:}
|
||||||
|
|
||||||
# ---- R2DBC (reactive DB) ----
|
# ---- R2DBC (reactive DB) ----
|
||||||
r2dbc:
|
r2dbc:
|
||||||
@@ -120,6 +122,7 @@ auth:
|
|||||||
- /api/*/v3/api-docs/**
|
- /api/*/v3/api-docs/**
|
||||||
- /api/*/swagger-ui/**
|
- /api/*/swagger-ui/**
|
||||||
- /api/auth/hr-guest-token
|
- /api/auth/hr-guest-token
|
||||||
|
- /api/auth/devops-guest-token
|
||||||
admin-paths:
|
admin-paths:
|
||||||
- /api/*/admin/**
|
- /api/*/admin/**
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user