본문 바로가기

패스트캠퍼스/100% 환급 챌린지_2

패스트캠퍼스 환급챌린지 54일차 : Netplix 구독형 멤버십 프로젝트로 배우는 Spring Security 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

 

안녕하세요 :)

오늘은 챌린지 54일차로, 벌써 챌린지 마지막 주말에 돌입했네요^^ (다음 주면 종료!)

 

오늘 배울 내용은,

Part C. OAuth2.0 과 JWT

Ch 4. 실전: Keycloak 을 활용한 OAuth 2.0

"02. 권한 부여 서버로서의 Keycloak - 2"

부터

Ch 5. 실전: 카카오 로그인 구현하기

"02. 소셜 로그인 구현하기 - 2"

까지 입니다.


 

권한 부여 서버로서의 Keycloak 실습을 하면서 build.gradle 의존성은 spring-security, spring-web, oauth 등이 설정되었고, 샘플 컨트롤러를 생성하여 GET /api/v1/hello 엔드포인트 생성했다.

보안 설정은 모든 요청에 대해 인증과 커스텀 필터를 적용하였고, 필터는 CustomeSecurityFilter 로 JwkProvider 설정을 했다. 또 엑세스 토큰 검증을 적용했다.

포스트맨을 호출하여 Authorization 에 Bearer Token 으로 호출했을 때, 액세스 토큰이 유효하면 API 호출 가능하도록 했다.

또, 카카오 로그인을 구현하는 실습을 진행했다. 소셜 로그인이라 하면 네이버, 페이스북, 카카오를 활용하여 개인 정보를 얻어오려 하는데 방식은 대부분 비슷하니, 카카오를 활용해 보았다.

매커니즘은 다음과 같다. 사용자 클라이언트 → 서비스 서버 → 카카오 플랫폼 서버이고, 큰 흐름은 카카오 로그인 → 회원 확인 및 등록 → 서비스 로그인 순서로 진행된다.

카카오 개발자 사이트(kakao developers)에 로그인을 하고 "내 어플리케이션"을 클릭한 뒤, 전체 애플리케이션에 현재 등록되어 있는 애플리케이션 목록이 나오며, "애플리케이션 추가하기" 버튼을 클릭하여 소셜 로그인을 구현하기 위한 앱을 생성하면 된다.

애플리케이션을 추가하려면 앱 이름과 필요 정보를 입력 후 "저장" 버튼 클릭하면 된다. 애플리케이션 키는 애플리케이션을 등록하면 네이티브 앱 키, REST API 키 등을 알 수 있다. 이번 시나리오에서는 REST API 앱 키만 필요하다.

카카오 로그인 설정은 대시보드 > 설정 > 카카오 로그인에서 "설정하기"를 클릭하여 상태를 "ON" 으로 변경하면 된다.

그리고 카카오 로그인 활성화를 위해서는 OFF 클릭 > 활성화하면 된다. 그리고 Redirect URI 를 등록해야 성공적으로 동작이 된다. 동의 항목 설정으로는 카카오 로그인으로 받아올 정보를 정하면 되고, 닉네임, 프로필 사진 등을 얻을 수 있다. 이후에는 코드 값과 access_token 값 그리고 개인정보까지 얻어오는 방법에 대해 배울 수 있었다.