KeyCloak은 쓰면 쓸수록 매력적인 솔루션인것 같다. 잘 다룰줄만 알면 인증, 권한 관련해서는 어느정도 경지에 오를수도 있을것 같다는 생각이 든다. 요즘같이 OSS가 각광받는 시대에는 꼭 알고 있어야 할 OSS라고 생각한다. KeyCloak 설치부터 해서 springboot app SSO 연동, JWT 발급, Jenkins와의 연동 등의 포스팅을 했었는데 이번에는 OAuth2를 활용해서 구글 계정으로 KeyCloak 로그인을 하는 방법에 대해서 알아보겠다. 테스트 환경 구축 일단 테스트 환경부터 구축을 해보자. 중점적으로 살펴볼 부분은 '어떻게 OAuth2를 통해 로그인을 하는가'이기 때문에 별도의 어플리케이션과 연동은 하지 않고 가장 간단하게 nginx를 설치해서 http://localhost 라는..
지난 시간에는 KeyCloak을 이용해서 같은 Realm에 있는 Client간의 SSO 를 구성을 해 보았다. 이것은 각 서비스들을 SSO로 묶어서 한번에 관리하는것이라면 이번에 다룰 Access Token을 발급받아서 사용하는것은 구성된 Realm의 Client를 내부, 외부에서 직접 접근하고자 할때 이용이 된다. 프로젝트 실습의 틀은 기존에 구성을 한것을 기반으로 한다. 일단 설명에 앞서 왜 Access Token을 사용하는지에 대해 잘 설명된 그림인것 같아서 퍼왔다. 요즘은 참 회사들마다 경쟁적으로 '우리가 이렇게 뛰어난 기술을 가지고 있소!' 하고 활발하게 블로그를 운영하는데 개인적으로 참 부럽다. KeyCloak REST API 이용해서 JWT 발급받기 기존에 KeyCloak에서 만들어 놓은 o..
지난 시간에는 KeyCloak을 어떻게 설치를 하는지 알아보았다. 이제는 이 설치된 KeyCloak을 어떻게 사용하는지 기존에 사용하고 있던 Springboot로 구현된 Application과 연동을 통해 알아보도록 하겠다. KeyCloak 설정 - Realm 생성 일단 설치된 KeyCloak의 Admin Console로 들어가보자. 좌측 맨 위의 Master라는 부분에 마우스를 가져다대면 Add realm 이라는것이 나타날 것이다. realm은 인증, 인가의 범위라고 보면 된다. 예를 들자면 A Portal에서 우리가 카페에서 로그인을 해도 메일도 같은 realm 안에 있기 때문에 별도의 로그인 없이 SSO를 통해 이용을 할 수 있는것이다. 이처럼 같은 realm안에서 한번 로그인을 하면 그 realm..