§ 학습 전(계획) §
▶ 학습 목표는 무엇인가?
- OAuth 2
OAuth 2 샘플 애플리케이션 구현
OAuth 2와 JWT를 이용한 샘플 애플리케이션 구현
▶ 이미 알고 있는 내용은 무엇인가?
OAuth 2에 대한 이론적인 부분과 애플리케이션 구현을 위한 사전 작업까지 학습했다.
OAuth 2를 적용한 애플리케이션 구현은 처음이다.
§ 학습 후(점검 및 평가)
▶ 새롭게 배운 내용은 무엇인가?
- spring-boot-starter-oauth2-client 으로 추가하면, 별도의 설정을 하지 않아도 Spring Boot의 자동 구성을 통해 OAuth 2 로그인 인증 기능이 활성화됨
- ClientRegistration은 OAuth 2 시스템을 사용하는 Client 등록 정보를 표현하는 객체
- Spring Security에서 제공하는 CommonOAuth2Provider enum은 내부적으로 Builder 패턴을 이용해 ClientRegistration 인스턴스를 제공
- OAuth2AuthorizedClientService는 권한을 부여받은 Client인 OAuth2AuthorizedClient를 관리
- OAuth2AuthorizedClientService를 이용해서 OAuth2AuthorizedClient 가 보유하고 있는 Access Token에 접근 가능
- OAuth2AuthorizedClientService의 loadAuthorizedClient("google", authentication.getName())를 호출하면 OAuth2AuthorizedClientRepository를 통해 OAuth2AuthorizedClient 객체를 로드 가능
- Frontend 애플리케이션과 Backend 애플리케이션의 OAuth 2 인증 처리 흐름에서 Backend 애플리케이션이 Authorization Server, Resource Server와 인터랙션하는 과정은 Spring Security에서 내부적으로 대신 처리
- OAuth2MemberSuccessHandler 클래스는 OAuth 2 인증 후, Frontend 애플리케이션 쪽으로 JWT를 전송하는 핵심 역할을 담당
- JWT의 보안성을 강화하기 위해 비대칭키 방식의 서명을 사용 가능
▶ 다른 사람에게 설명할 수 있는가?
아직 설명이 힘들다.
▶ 아직 이해되지 않은 내용은 무엇인가?
순서나 각 컴포넌트들의 역할에 대해서 좀 더 이해가 필요하다.
▶ 이해되지 않은 내용을 보완하기 위해서 나는 무엇을 할 수 있는가?
학습 내용을 많이 봐야할 것 같고, 애플리케이션 구현 부분을 코드로 많이 쳐봐야 익숙해질 것 같다.
▶ 오늘 나의 학습 만족도는 어느 별 5개 중 몇 개를 줄 수 있는가?
- ★★★★☆
오늘 학습 집중도는 비슷했지만 살짝 아쉬웠다.
정규 학습 시간 내에 꼭 그 날 학습해야할 분량은 꼭 끝내도록 하자.
월요일인데 힘들어하지 않아서 다행이다. 고생했고 내일도 힘내자!
'생각 정리' 카테고리의 다른 글
2022. 11. 30. (0) | 2022.11.30 |
---|---|
2022. 11. 29. (0) | 2022.11.29 |
2022. 11. 25. (0) | 2022.11.25 |
2022. 11. 24. (0) | 2022.11.24 |
2022. 11. 23. (1) | 2022.11.23 |