§ 학습 전(계획) §
▶ 학습 목표는 무엇인가?
- OAuth 2
OAuth 2이란?
OAuth 2의 동작 방식
OAuth 2 인증을 위한 사전 작업
▶ 이미 알고 있는 내용은 무엇인가?
OAuth 2에 관해서는 처음 학습하는 내용들이다.
§ 학습 후(점검 및 평가)
▶ 새롭게 배운 내용은 무엇인가?
- OAuth 2는 사용자 정보를 보유하고 있는 신뢰할 만한 써드 파티 애플리케이션(GitHub, Google, Facebook 등)에서 사용자의 인증을 대신 처리해 주고 접근 권한에 대한 토큰을 발급한 뒤 해당 토큰을 이용해 써드 파티 애플리케이션의 서비스를 사용하게 해주는 방식
- OAuth 2를 사용하는 애플리케이션 유형
- 써드 파티 애플리케이션에서 제공하는 API를 직접적으로 사용
- 추가적인 인증 서비스를 제공하기 위한 용도
- OAuth 2 인증 컴포넌트
- Resource Owner는 사용하고자 하는 Resource의 소유자를 의미
- Client는 Resource Owner를 대신해 보호된 Resource에 액세스하는 애플리케이션을 의미
- Resource Server는 Client의 요청을 수락하고 Resource Owner에 해당하는 Resource를 제공하는 서버를 의미
- Authorization Server는 Client가 Resource Server에 접근할 수 있는 권한을 부여하는 서버를 의미
- OAuth 2 인증 프로토콜의 키포인트는 Client 애플리케이션이 Resource Owner의 대리인 역할을 수행한다는 것
- Authorization Grant에 따른 인증 처리 방식
- Authorization Code Grant : 권한 부여 승인 코드 방식
- Implicit Grant : 암묵적 승인 방식
- Resource Owner Password Credential Grant : 자원 소유자 자격 증명 승인 방식
- Client Credentials Grant : 클라이언트 자격 증명 승인 방식
- 구글의 OAuth 2 인증 시스템을 사용하기 위해서는 구글 API 콘솔에서 OAuth 클라이언트를 생성해야 함
- 생성된 OAuth 클라이언트의 클라이언트 ID와 클라이언트 보안 비밀번호(Secret)는 Spring Security 기반의 애플리케이션의 설정 정보로 사용되므로 유출되지 않도록 안전하게 잘 보관
▶ 다른 사람에게 설명할 수 있는가?
왜 OAuth 2를 사용하고, 어떤 인증 처리 흐름을 갖는지 설명할 수 있다.
▶ 아직 이해되지 않은 내용은 무엇인가?
Authorization Grant에 따른 인증 처리 방식이 4가지가 있는데, 각각의 방식에 대해 좀 더 알아둘 필요가 있고, 어떻게 코드로 구현해서 사용할 수 있는지 학습이 필요해보인다.
▶ 이해되지 않은 내용을 보완하기 위해서 나는 무엇을 할 수 있는가?
해당 내용을 복습하고, 관련 공식 문서를 찾아 공부할 수 있을 것 같다.
추후에 OAuth 2 적용하기 위해 코드로 구현하는 학습을 가질 때, 집중해서 임하면 좋을 것 같다.
▶ 오늘 나의 학습 만족도는 어느 별 5개 중 몇 개를 줄 수 있는가?
- ★★★★★
오늘 두통이 사라지고, 처음으로 운동을 다녀왔다.
기분은 좋았지만, 몸 컨디션이 저조한 걸 확실히 체감했다.
이후에 시간 가는 줄 모르고 학습에 임했던 것 같다.
꽤나 집중한 하루여서, 만족스럽다.
주말에도 바쁘게 보내야될 것 같은데, 컨디션 조절 잘하면서 힘내보자!
'생각 정리' 카테고리의 다른 글
2022. 11. 29. (0) | 2022.11.29 |
---|---|
2022. 11. 28. (0) | 2022.11.28 |
2022. 11. 24. (0) | 2022.11.24 |
2022. 11. 23. (1) | 2022.11.23 |
2022. 11. 22. (0) | 2022.11.22 |