복붙노트

[SPRING] 스프링 부트 OAuth2 싱글 사인 오프 (로그 아웃)

SPRING

스프링 부트 OAuth2 싱글 사인 오프 (로그 아웃)

내 응용 프로그램에 OAuth2를 사용하려고합니다. 구현하려는 아키텍처는 다음과 같습니다.

지금까지 나는 3 개의 기본 응용 프로그램 (1 개의 인증 서버, 1 개의 자원 서버 및 1 개의 클라이언트) 사이에서이 상호 작용을 구현할 수있었습니다. 내가 작동하지 않는 것은 로그 아웃 기능입니다. 나는 Dave Syer가 그의 튜토리얼에서 설명하는 "악명 높은 까다로운 문제"를 읽었지만,이 경우 로그 아웃 한 후에 다시 로그인해야한다. 액세스 토큰과 새로 고침 토큰을 몇 초 동안 보내려고했지만 만료시 다시 로그인하라는 메시지가 표시되지 않고 클라이언트 응용 프로그램에서 NPE가 표시됩니다. 또한 토큰 저장소에서 토큰을 제거하기 위해이 게시물에서 제안 된 솔루션을 시도했지만 작동하지 않습니다. 싱글 사인 오프는이 구현에서 바람직한 행동입니다. Spring Boot Oauth2를 사용하여 어떻게 이것을 할 수 있습니까? 어떤 이유로 든 가능하지 않다면 스프링 부트를 사용하여 중앙 집중식 보안을 구현하는 데 사용할 수있는 대안은 무엇입니까?

미리 감사드립니다.

해결법

  1. ==============================

    1.많은 테스트가 끝난 후 AuthServer로 리디렉션하고 프로그래밍 방식으로 로그 아웃하면 다음과 같이 해결할 수 있다는 것을 깨달았습니다.

    많은 테스트가 끝난 후 AuthServer로 리디렉션하고 프로그래밍 방식으로 로그 아웃하면 다음과 같이 해결할 수 있다는 것을 깨달았습니다.

    이 구현의 전체 예제가있는 github에 샘플 앱을 게시했습니다.

  2. from https://stackoverflow.com/questions/43071370/spring-boot-oauth2-single-sign-off-logout by cc-by-sa and MIT license