쌩로그

OAuth 2.0 애플리케이션 등록(구글, 카카오) 본문

Deploy

OAuth 2.0 애플리케이션 등록(구글, 카카오)

.쌩수. 2023. 7. 24. 13:12
반응형

목록

  1. 포스팅 개요
  2. 본론
      2-1. 구글
      2-2. 카카오
  3. 요약

1. 포스팅 개요

OAuth 2.0 애플리케이션 등록 과정에 대한 포스팅이다.
참고로 네이버는 까다롭다는 말을 들어서 일부러 안 했다.

2. 본론

2-1. 구글

먼저 구글부터 보자
구글 OAuth 연결 링크에 들어간다.

프로젝트를 만들어준다.

프로젝트 이름을 적고, 만들어준다.

그러면 위에 다음과 같이 프로젝트 이름이 나올 것이다.
클릭!

프로젝트 선택 창이 나온다.
생성된 프로젝트를 클릭한다.

OAuth 동의 화면에 들어간다.

외부를 선택하고 만들어준다.

앱이름과 본인의 이메일을 넣어준다.

그리고 최 하단에 역시 본인의 이메일을 적어준다.

저장 후 계속

테스트 사용자는 등록해본적이 없다.
그러므로 나는 저장 후 계속을 눌렀다. 그럼 완료가 진행된다.

짠!

이제 사용자 인증 정보로 들어가

사용자 인증 정보 만들기를 선택한다.

OAuth 클라이언트 ID를 선택해준다.

애플리케이션 이름을 만들어준다.

이제 리디렉션 URI를 추가해준다.

이게 정말 중요하다.

OAuth 로그인시 각 벤더사에 요청을 보낼 때 여러 정보를 함께 넘겨주는데,
이 리디렉션 URI를 통해서 각 벤더사에서 로그인 요청이 알맞은 요청인지 아닌지를 판별하는 하나의 기준값이 되기 때문에, 이 URI가 정말 중요하다.

정말 말하고자 싶은 것은 다음과 같다.

착각하지 말자는 것

무슨 말이냐....
리디렉션이라는 단어때문에 로그인 이후에 해당 URI로 리다이렉트되는 URI로 생각할 수 도 있을 것 같지만,

(아니라면 정말 다행이다.. 내가 그랬다..)

이건 진짜..진짜...ㄹㅇ 찐으로 착각한 것이다.
그런 용도가 절대! Never! 아니다.
그냥 인증 정보 중에 하나란 것을 반드시 명심하자!!

10개월이 지난 시점 이 글은 병맛이다... 내가 완전 잘 못 쓴글이다.
리다이렉트 url의 쓰임새는 당연히 있다.
그 용도가 무엇인지 알려면, 여기를 참고하길 바란다.

여하튼 승인된 리디렉션 URI를 적어주면된다.
(localhost:8080도 괜찮고, 프론트와 얘기해서 잘 맞춰면된다.)
(우린 아예 백에서 했다.)

프로젝트URI/login/oauth2/code/google 과 같이 주면된다.

스프링 공식문서에 가보면,
프로젝트URI/login/oauth2/code/google 이 값이 국룰이다.

스프링에서는 구글, 페이스북을 지원하는데,

다른 벤더사도 이와 같이해서 커스터마이징 해주면 된다.

완료를 하면, 다음과 같은 키가 나온다.

해당 값들을 통해서 OAuth 로그인시 각 벤더사에 정보들을 주고,
등록된 애플리케이션이 맞는지 아닌지 판별해서 로그인을 허용하거나, 거부한다.

2-2. 카카오

이제 카카오를 보자.
카카오 OAuth 연결 링크에 들어간다.

카카오 로그인을 하고, 상단의 내 애플리케이션에 들어간다.

애플리케이션을 만든다.
각각의 항목에 필요한 부분을 넣는다.

그러면 REST API키가 생성되는데,
이 키가 구글 OAuth 로그인의 마지막에 생성된 키의 역할을 하는 값들이다.
잘 복사해놓도록 한다.

플랫폼을 설정한다.

프로젝트 상황에 맞는 값을 넣어주면 된다.

이제 사이드 메뉴에서 카카오 로그인을 선택한다.

OFF된 활성화 상태를 ON으로 변경해준다.

카카오 로그인 활성화를 당연히 해준다.

Redirect URI를 등록한다.

구글에서 했던 것과 비슷하게
프로젝트URI/login/oauth2/code/kakao로 값을 준다.

(쓰읍..)
다시 말하지만,,

절대 로그인 성공 후 리다이렉트 되는 URI가 아니다.

동의항목으로 간다.

프로젝트 상황에 맞게 적절히 동의항목을 체크해준다.

나는 참고로 다음과 같이 했다..

이제 보안 탭으로 간다.

Client Secret 키를 생성해주는데,
구글의 클라이언트 ID 말고, Secret Key가 하나 더 있었던 걸 기억할 것이다.
이 키는 구글의 Secret Key와 같은 역할을 하는 값이다.

카카오에선
REST API 키가 ID,
Client Secret 코드가 Secret Key이다.

당연히 생성해준다..

그리고 각 프로젝트에 받은 값을 설정해주면 된다.

3. 요약

개요와 똑같지만,,
오랜만의 과정 포스팅이었다.

결론은
OAuth 2.0 애플리케이션 등록 과정에 대한 포스팅이다.

그리고 명심하자.
리디렉션 URI는 절대 로그인 이후 리다이렉트 되는 URI 가 아니라,
그냥 하나의 인증 정보로 사용한다는 사실을...

구글 OAuth 연결 링크
카카오 OAuth 연결 링크

2024년 5월 7일에 redirect-url에 관한 부분 수정. 다른 링크로 확인하도록 함.

728x90
Comments