OAuth 2.0 Client - application.yml, OAuth2ClientProperties
클라이언트 권한 부여 요청 시작
클라이언트가 인가 서버로 권한 부여 요청을 하거나 토큰 요청을 할 경우 클라이언트 정보 및 엔드포인트 정보를 참조해서 전달한다.
application.yml환경설정 파일에 클라이언트 설정과 인가 서버 엔드포인트 설정을 한다.초기화가 진행되면
applcation.yml에 클라이언트 및 엔드포인트 정보가OAuth2ClientProperties의 각 속성에 바인딩 된다.OAuth2ClientProperties에 바인딩 되어 있는 속성의 값은 인가 서버로 권한 부여 요청을 하기 위한 ClientRegistration 클래스의 필드에 저장된다.OAuth2Client는 ClientRegistration 을 참조해서 권한 부여 요청을 위한 매개변수를 구성하고 인가 서버와 통신한다.

application.yml
클라이언트 자격 증명 전송 방식 종류
client_secret_basic
클라이언트가
client_id와client_secret을 HTTP 기본 인증 헤더에 포함하여 서버에 인증 요청을 보낸다.HTTP 요청의
Authorization헤더에client_id와client_secret을 Base64로 인코딩하여 Basic 방식으로 전송한다.client_secret_post
클라이언트가
client_id와client_secret을 요청 본문에 포함하여 서버에 인증 요청을 보낸다.
client_id와client_secret을 application/x-www-form-urlencoded 형식의 요청 본문에 포함하여 전송한다.client_secret_jwt
클라이언트가
client_secret을 사용하여 JWT를 생성하고 이를 인증 토큰으로 사용한다.JWT는
client_id와 기타 클레임을 포함하여,client_secret으로 서명된다.private_key_jwt
클라이언트가 공개 키와 개인 키 쌍을 사용하여 JWT를 생성하고, 이를 인증 토큰으로 사용한다.
JWT는
client_id와 기타 클레임을 포함하며, 클라이언트의 개인 키로 서명된다.none
클라이언트 인증을 사용하지 않으며, 클라이언트가 공개 자원에 접근할 때 사용된다.
client_id만을 사용하며,client_secret이 필요하지 않는다.
OAuth2ClientProperties


Registration 은 인가 서버에 등록된 클라이언트 및 요청 파라미터 정보를 나타낸다.
Provider 는 공급자에게 제공하는 엔드포인트 등의 정보를 나타낸다.
클라이언트 및 공급자의 정보를 각각
registration,provider맵에 저장하고 인가 서버와의 통신 시 각 항목을 참조하여 사용한다.
마지막 업데이트