diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/Auth.kt b/src/main/kotlin/com/android/trisolarisserver/controller/Auth.kt index 75d8022..1ade4db 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/Auth.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/Auth.kt @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController import org.springframework.web.server.ResponseStatusException import org.springframework.http.HttpStatus +import org.springframework.http.ResponseEntity import java.util.UUID @RestController @@ -33,19 +34,19 @@ class Auth( fun verify( @AuthenticationPrincipal principal: MyPrincipal?, request: HttpServletRequest - ): AuthResponse { + ): ResponseEntity { logger.info("Auth verify hit, principalPresent={}", principal != null) val resolved = principal?.let { ResolveResult(it, null) } ?: resolvePrincipalFromHeader(request) - return resolved.toResponse() + return resolved.toResponseEntity() } @GetMapping("/me") fun me( @AuthenticationPrincipal principal: MyPrincipal?, request: HttpServletRequest - ): AuthResponse { + ): ResponseEntity { val resolved = principal?.let { ResolveResult(it, null) } ?: resolvePrincipalFromHeader(request) - return resolved.toResponse() + return resolved.toResponseEntity() } private fun buildAuthResponse(principal: MyPrincipal): AuthResponse { @@ -141,11 +142,12 @@ class Auth( ) } - private fun ResolveResult.toResponse(): AuthResponse { + private fun ResolveResult.toResponseEntity(): ResponseEntity { return if (principal == null) { - AuthResponse(status = "NEEDS_ORG", pendingUserId = pendingUserId) + ResponseEntity.status(HttpStatus.ACCEPTED) + .body(AuthResponse(status = "NEEDS_ORG", pendingUserId = pendingUserId)) } else { - buildAuthResponse(principal) + ResponseEntity.ok(buildAuthResponse(principal)) } } }