Develop/Spring

[Spring] 스프링부트와 카카오 로그인연동하기(1)

지식작문 2024. 6. 16.

 

[Spring] 인텔리제이를 사용하는 스프링부트에 OAuth 2.0 기반 방식으로 카카오 로그인을 연동하기

 

https://developers.kakao.com/console/app

 

위 사이트에 들어가면 카카오와 연동할 수 있다.

[내 애플리케이션]을 누르고 [애플리케이션 추가하기]를 누른다.

 

[앱이름], [회사명], [카테고리]를 작성하고 저장한다.

작성하면 저장을 누르면 위와 같이 결과가 나타난다.


 

[앱, 제품 설정하기]

 

클릭을 해서 들어가면 다음과 같은 화면이 나타나는데 [앱 키]에서 [REST API 키]를 확인한다.

 

[플랫폼]에서 [Web 플랫폼 등록]을 클릭한다.

[도메인]에 URL을 작성하고 [저장]을 누른다.

 

[제품 설정]에서 [카카오 로그인]을 클릭하고 [활성화 설정]을 [ON]으로 해준다.

 

[Redirect URI 등록]을 누르고 [http://localhost:8080/작성]을 하고 [저장]을 누른다.

 

[동의항목]을 누르고 [닉네임]에서 [설정]을 누른다.

@(카카오 계정(이메일)동의를 받고 싶은경우 계정을 비즈앱 전환후, 비즈니스 인증을 받아야 권한 요청이 가능하다)

 

다음과 같이 작성 후 [저장]한다.


[로그인 버튼 다운로드]

[문서]에서 [카카오 로그인]을 클릭하고 [디자인 가이드]를 누르면 카카오 로그인 버튼 리소스를 다운로드 할 수 있다.


 

[인가 코드 받기]

다음은 GET방식으로 인가 코드를 요청해서 받아야 한다.

 

위의 링크를 타면 요청 주소로 [client_id]에는 REST API키 값을 [redirect_uri]에는 작성한 url을 넣고 [response_type]은 아래와 동일하게 작성한다.

ex)https://kauth.kakao.com/oauth/authorize?client_id=REST API 키 값&redirect_uri=http://localhost:8080/작성&response_type=code

 

 

 

 

 

템플릿에서 [new][file][login1.mustache]파일을 만들어주고, [디자인 가이드]에서 다운로드 받은 카카오버튼은 [static] 파일로 옮겨 준다.

저 [#]을 부분을 지우고, 본인 요청주소를 링크로 넣어준다.

 

[new][java class]로 [UserController]파일을 만든다음 코드를 작성하고, 서버를 실행한다.

 

페이지에 접속한다음 위와 같은 카카오 로그인 버튼을 누른다.

동의할 것을 동의하고 [동의하고 계속하기]를 누르면 주소창에 [?code]뒤에 인가코드(AUTHORIZE_CODE)가 나타난다.

페이지에 error가 뜨는것은 컨트롤러를 만들지 않아서 생기는것이다.

인가코드를 얻기위해서 주소창을 확인하자.(참고: 인가코드는 동적인 값이기 때문에 계속 변해서 주소가 다를수가 있다.)


 

 

<인증하기> error가 뜨는 페이지에 대해 컨트롤러를 만들어서 인가코드값이 뜨게 하기

 

돌아와서 다음과 같이 코드를 추가하고 서버를 재실행해서, 페이지에 다시 접속한다음 카카오 로그인 버튼을 눌러보자.

 

 

 

화면에 이렇게 뜨면 인증에 성공한 것이다.

 

댓글