이전 섹션에서는
OAUTH2 프레임워크를 이용하여
Spring Boot 애플리케이션 내부에서
소셜 로그인을 활용하는 상황에 대해
이야기해 보았습니다
하지만 GitHub, Facebook, Google, Twitter와 같은
이런 소셜 로그인 인증 서버들은
우리가 통제할 수 없는
다른 단체들에서 소유하고 있기 때문에
각각의 서버마다 한계가 있습니다
그렇기 때문에 이 섹션에서는
저의 은행인 EazyBank에서
개발, 유지하고 있는
모든 애플리케이션들이 활용할 수 있는
저만의 인증 서버를 만들어 볼 겁니다
지금은 EazyBank 웹 애플리케이션이 하나밖에 없습니다
그런데 생각해보십시오
제 EasyBank 애플리케이션이 모바일 앱, 마이크로 서비스 등
다양한 형태로 성장해 나간다면
그런 시나리오에서는 EazyBank에서 직접 소유하는
별도의 인증 서버를 두는 것이
좋은 방법입니다
이 섹션의 개요는 첫 번째 KeyCloak을 이용하여
저만의 인증 서버를 만든 다음
제가 가진 모든 계정 정보
카드 정보, 대출 정보를 저장하고 있는
백엔드 애플리케이션인 Postman을
리소스 서버로 만들 겁니다
인증 서버와 리소스 서버가 생겼으면
그 다음에는 두 가지 다른 인증 시나리오 플레이버를
체험해 볼 겁니다
하나는 API 간 커뮤니케이션이 발생할 때입니다
예를 들어 서드 파티 애플리케이션이
리소스 서버에 있는 REST 서비스를
이용하려고 할 때가 있습니다
그런 상황에서는
client credentials grant flow를 사용해야 합니다
다른 하나는 Angular 앱과 같은
UA 클라이언트 애플리케이션이
리소스 서버에 접속해서 백엔드에서 정보를 가져와
UA page에 띄우는 것입니다
이 둘이 저희가 알아볼 플레이버입니다
다만 UA 시나리오에서는
실사용자가 연관되어 있기 때문에
authorization grant flow를 사용해야 합니다
두 가지 상황을 탐구할 겁니다
이해가 되셨길 바랍니다
다음 단계에서는
우리만의 인증 서버를 직접 구축해서
EazyBank 내부의 애플리케이션들이
모두 같은 정보를 활용할 수 있도록
만들어 볼 것입니다
이 섹션의 개요가 이해가 되셨길 바랍니다
이 섹션은 아주 복잡하면서
재미도 아주 많이 있을 겁니다
제가 도와드릴 테니 걱정하실 필요는 없습니다
아주 재미있을 겁니다
들어주셔서 감사합니다 다음 강의에서 뵙겠습니다
수고하셨습니다