JwtDecoder 생성 방법

존스노우·2023년 9월 9일
0

springSecurity

목록 보기
50/75

  • JwtDecoders -> JwtDecoder 객체 생성할수 있는 유틸 객체

  • issuerUri 를 통해 인가서버와 통신을 한다

  • 통신으로 메타데이터들을 가져오고 (알고리즘 목록, 인가서버 엔드포인트목록 , 그랜트타입지원목록 등.)

  • jwt-set-Uri 정보도 가져옴

  • 가져온정보 JwtDecoders에 바인딩

  • 두번째는 구현체를 바로 활용
  • 디코더가 검증할때 uri 서버로 통신해서 바로 준다. (Uri차이)
  • 위는 메타데이터를 가져와서 바인딩하고 설정하는 방식
  • 좀더 디테일하게 설정함
  • 비대칭키 알고리즘의 종류만 변경 가능함

코드

  • 여기클래스에는 설정 클래스에 지정한 Jwt-set-Uri 등 바인딩이 된다.
  • (현재는 issuer uri 만설정해서 그 주소만 가져옴)

  • 가장 기본적인 jwt 디코더 빈 생성

  • 따로 빈을 생성해주지 않으면 여기서 생성해준다 .

  • issu uri 가있으면 디코더 만들기!
  • 여기까지 디폴트 빈 생성

  • JwtDecoder 빈이 만들어지지않으면 여기 클래스가 실행된다!

디버그

첫번째 방식

  • 설정 정보 셋팅

  • 인가서버에서 메타데이터를 가져옴 (froM location들어가면)

  • Rest 통해서 메타데이터 가져오기

  • 여기 정보들로 인가서버의 메타정보를 가져와 참조 한다.

두번째 방식

  • Issuer urI로 메타데이터 가져옴

  • 위에 두개는 그냥 비슷한듯

세번째 방식

  • 키클록으로 토큰을 얻어서 인증 진행

  • 키클록 인가서버는 RSA256 인대 우리는 512라 맞지않음

  • 그래서 예외가 나기때문에 인가서버도 바꿔줘야됨

  • 그러면 인증생성 ( 따로설명이없이 바로화면으로보여줘서 생략)

profile
어제의 나보다 한걸음 더

0개의 댓글