[Swift iOS] iOS에서 카카오로그인 구현하기 (feat.SNS로그인) (1편)

JB
5 min readMar 22, 2021

--

안녕하세요~ 최근회사에서 SNS로그인 구현 기능을 추가했습니다 :)

이걸 미디엄으로 카카오톡, 네이버, 애플로그인, 페이스북 로그인으로 1,2,3,4편 나누어 올려보려합니다.

자 먼저 1탄 카카오 로그인이에요~

카카오 로그인 iOS에 적용하기

이 문서를 참조하면 굉장히 자세히 나와있으니 참고 부탁드립니다.

먼저 카카오 로그인의 인증방식은

  • REST API 방식
  • OAuth 2.0 기반

입니다.

현재 카카오 로그인 버젼은 v1 (legacy) 와 v2로 되어있는데, v2로 구현하시는것을 추천드려요. (v1은 언제 deprecate될지 모르니까요..)

참고로 v1 -> v2 마이그레이션을 진행하였었는데 이때 가장 크게 느꼈던 불편점은

  • 카카오톡이 깔려있지않으면 카카오 로그인이 불가능

이었는데 v2에서는 이것도 깔끔하게 해결해 줍니다.

또한 카카오 로그인은 사용자를 인증하고 토큰을 발행하는 방식입니다. 그렇기때문에 OAuth 2.0의 인증절차는

1. 카카오 로그인 인증
2. 사용자 동의 (이미 동의한 경우 건너뛰기)
3. 인가 코드 (Authorization Code) 발급
4. 인가 코드로 토큰 (OAuthToken) 발급

입니다.

요구 사항 및 외부 라이브러리 디펜던시

요구사항은

1. iOS 11.0 이상
2. XCode 11.0 이상
3. Swift 4.2 이상
4. CocoaPods 1.8 이상
5. iOS Deployment Target 11.0 이상

외부 라이브러리 디펜던시는

iOS SDK
- Alamofire, DynamicCodable
Reactive iOS SDK: RxSwift, RxCocoa, RxAlamofire, DynamicCodable

입니다.

이제 XCode에서 구현해볼게요~

먼저 프로젝트의 Info.plist 에서 LSApplicationQueriesSchemes 키를 추가하고합니다.

그 후에 아이템으로 커스텀스킴에 사용 할 값인

kakaokompassauth , kakaolink

두개를 추가합니다.

또는 Source Code로

이와 같이 열어서

이 코드를 추가해줍니다.

<key>LSApplicationQueriesSchemes</key>   
<array>
<!-- 카카오톡으로 로그인 -->
<string>kakaokompassauth</string>
<!-- 카카오링크 -->
<string>kakaolink</string>
</array>

이제 카카오 디밸로퍼 에 가서

https://developers.kakao.com/

  1. 로그인
  2. 우측 상단에 내 애플리케이션 클릭

그리고 애플리케이션 추가하기 를 클릭해줍니다!

앱 이름 ,사업자명

기입 후 저장하면

이와 같이 나오는데 클릭해줍시다~!

이와 같이 나오는데 여기서

네이티브 앱 키 가 발급되어있을거에요! 드래그 후 복사합시다

XCode 로 돌아와서
Targets -> Info ->URL Types
URL Schemes 값을

kakao + 네이티브 키 형식으로 넣어줍니다.
ex) 네이티브 키 : 1a2a3a4a5a6a7a8a9a0a1a2a3a 면
kakao1a2a3a4a5a6a7a8a9a0a1a2a3a

참 쉽죠?!

그리고

사이드탭에서 카카오 로그인 어드민에서 활성화 설정을

ON 시켜줘야해요!

마지막으로 플랫폼 등록을 해주어야하는데요.

앱 설정 -> 플랫폼 -> iOS 플랫폼 등록 을 클릭하여

번들아이디를 입력 후 저장
(앱스토어ID마켓 URL이 있다면 기입해주세요)

자 여기까지됐으면 기본적인 셋팅은 끝났네요.
이제 2편에서 구현하러 갑시다~!

--

--

JB
JB

Written by JB

iOS engineer @kakaobank

No responses yet