JWT - JWK 이해 및 활용하기

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

springSecurity

목록 보기
54/75

  • JWK안에 비대칭키 대칭키 에 관련된 속성을 저장할 ㅅ 있다.
  • sig(서명용도로 만들어진 키) enc(암호화를 목적으로 만들어진 키)
  • 해당 ID에 해당하는 JWK를 선택하기위한 KeyId

  • RSA 공개키 / 대칭키

  • JWK 타입의 객체를 생성함

  • 대칭키 생성 , 비대칭키 생성 ,

코드

  • RSA 키를 만드는 2개의 방법 , 제너레이터가 더 편리한거 같다

  • rsakey를 통해 이런 정보들을 얻을 수있다.

  • 빌더패턴을 사용할땐 시크릿 키가 필요하다.
  • 이런 4개의 키를 jwkset안에 저장하고 필요한 토큰검증에 필요한 키를 골라서 검증하자

  • jwkSource 안에는 셀렉터가 필요하고 이런 것들을 이용해 jwkSet안에 jwk 하나를 선택한다
  • jwk 매쳐에서 고르는 듯 하다
  • Jwk셀렉터에 매처를 파라미터로 넘겨서 하는듯?
  • 셀렉터를 다시 소스에 넣어서 하나의 JWK를 선택함.

디버그

  • 이런식으로 테스트 셋팅..

  • get 메서드 호출시 셀렉터 콘텍스트 파라미터 전달

  • 셀렉터에서 매처에 설정된 항목과 key에서 값들과 일치하는감?

  • 최종 값

  • 리소스서버에서 검증할때 (클라이언트에서 오는토큰을 )

  • 인가서버에서 발행한 개인키를 검증할 때 퍼블릭키를 가져올때 Jwk 셋안에 여러개의 키가 있을거고 그안에서

  • 하나를 선택해서 가져온것

profile
어제의 나보다 한걸음 더

0개의 댓글