Код: Выделить всё
@PostMapping(value = "/logout", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseDTO usingRefreshTokenLogout(@RequestBody LogoutRequestDTO logoutRequestDTO) throws ServletException {
log.info("going to logout user");
return keycloakService.logoutFromSSO(logoutRequestDTO);
}
@Override
public ResponseDTO logoutFromSSO(LogoutRequestDTO logoutRequestDTO) throws ServletException {
logoutRequestDTO.setClient_id(clientId);
logoutRequestDTO.setClient_secret(clientSecret);
ResponseEntity response = loginClient.logout(logoutRequestDTO);
if(response.getStatusCode() == HttpStatus.NO_CONTENT) {
log.info("response : {}", response.getBody());
return new SuccessResponseDTO("Logout request successful");
}else {
log.info("response : {}", response.getBody());
return new SuccessResponseDTO("Logout request failed with status code: " +
response.getStatusCode());
}
}
import com.tcg.admin.dto.LogoutRequestDTO;
import feign.Headers;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = "sessionFeignClient", url = "${client.post.base.url}")
public interface LoginClient {
@PostMapping(value = "/logout",
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
ResponseEntity logout(@RequestBody LogoutRequestDTO logoutRequestDTO);
}
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class LogoutRequestDTO {
private String refresh_token;
private String client_id;
private String client_secret;
}
http://base-url/realms/my-realm-name/pr ... d-connect/ выход из системы
Я пытаюсь реализовать функцию выхода из системы. используя токен обновления, я могу выйти из системы, но после выхода из системы мой токен доступа не становится недействительным. и используя этот токен доступа, я могу получить доступ к другому ресурсу. и если я пройду в соответствии с документами keycloak. https://www.keycloak.org/docs/latest/se ... tml#logout, затем я получаю ответ почтальона для подтверждения выхода из системы. если кто-нибудь поможет мне решить эту проблему.
и моя версия keycloak — 15.0.2
и заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/766 ... s-not-inva