[Start Spring Boot] Spring Security Oauth2 Authorization Code Grant

·2024년 4월 23일
0

Start Spring Boot!

목록 보기
50/53
post-thumbnail

Authorization Code Grant

  • 클라이언트에서 인증 코드를 넘겨서, 인증 서버로부터 Access Token을 받음

flow

  • 브라우저에서 사용자를 Oauth 서버로 보냄
  • 사용자는 인증 프롬프트를 보고 앱의 요청을 승인
  • 사용자는 쿼리 파라미터에 인증 코드와 함께, 클라이언트 애플리케이션으로 다시 리다이렉트 됨
  • 애플리케이션이 코드를 액세스 토큰으로 교환함

Client 만들기


다음과 같이 설정해서 만들었다.

  • Valid redirect URIs에는 연결할 UI를 입력하자!

User 만들기

  • 다음과 같이 만들 수 있다.
  • 다음의 페이지에서 비밀번호를 설정해야한다.
  • 일회성 체크를 해제하자!

로그인 페이지 들어가서 코드 받기

  • 다음과 같이 설정해서 생성된 주소에 들어가자
  • 다음에 만든 유저로 로그인을 해보자
http://localhost:7080/sample?state=aaaaaa&session_state=c16f5feb-a640-4533-ba54-528bcc379cba&iss=http%3A%2F%2Flocalhost%3A9080%2Frealms%2Fssbdev&code=6bb7e3ac-ba19-4a10-b6b0-f112efe5e3ac.c16f5feb-a640-4533-ba54-528bcc379cba.4b454f2d-ce24-4f61-b7cc-bd580be84c52
  • 다음과 같은 주소에서 code 뒤에 주목하자

코드 토큰으로 교환하기

  • 다음과 같은 호출로 토큰을 받을 수 있다.
  • code에 코드를 담아서 보내자

토큰으로 요청하기

  • 다음과 같이 요청을 보내면 403 오류가 발생한다.

Role 설정하기

  • Asign role을 통해서 역할을 부여해보자!
  • 이후 과정을 반복하면 다음과 같은 출력을 얻을 수 있다.
profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보