권한부여 방식
코드 요청방식은 인가서버와의 1단계 임.
authorizationGrantType - > 코드를 발급받기 위한 엔드 포인트.
OAuth2AuthorizationRequestRepository
클라이언트가 코드 요청 -> 코드 발급
클라이언트가 인가서버에 요청할때 밑에 그림정보를 전달
state 전달 -> 인가서버는 클라이언트정보 확인하고 -> state정보도 리다이렉트에 전달함.
클라이언트도 가지고 있는 state값을 리다이렉트 값과 검증함 ,
이 떄 Request를 어딘가저장하고 인가서버가 보낸 리다이렉트 정보를 비교해야되니
그걸 보관하는 장소이다.
/{action} 여기부분을 /login으로 치환
request객체를 완성하고 repository(세션)에 저장함.
여기 까지가 1단계
임의의 어떤 자원을 접근 할 경우
맨앞에 필터 동작 X 바로 매치 -> N
인가권한 필터? 현재 방식이 코드방식인지 , 스테이트 값이 있는지? 정상적으로 있으면 권한코드 부여 방식 진행
인증이 안된 상태기 때문에 예외 로 빠지게 되고.
인증 코드 방식이면
LgoinUrlAuthenticationEntryPoint 로 빠짐 그리고 밑에 Url로 빠짐
아이디 가져오기. 클라이언트 레지스트레이션 얻기위해
현재 사용자 요청정보가 리퀘스트 매쳐와 일치 되는가?
최종적으로 하는 역활은 레지스트레이션 id를 얻는것
이런 정보를 활용해서 리퀘스트 만들기.
스코프 값 검사
OpenId 포함되 있는지 검사도 하고
우리가 보낸 값들
승인을 하면 ?
안녕하세요. authorizaion grant 방식으로 oauth인증서버 구현중에 있는데, 작성해주신 글이 많이 도움이 되었습니다. 글에 올리신 이미지보니까 강의 캡쳐하신 것 같은데 혹시 어떤 강의인지 알 수 있을까요?