참고: 카카오 공식 문서에서 제공하는 플러터 카카오 로그인 구현 방식
https://developers.kakao.com/docs/latest/ko/kakaologin/flutter
1. 먼저, Kakao Developers의 내 애플리케이션으로 들어가 새로운 애플리케이션을 추가한다.
https://developers.kakao.com/
생성된 애플리케이션에 들어가서 요약정보에서 앱 키를 확인한다.
카카오로그인> 활성화 설정을 on으로 바꿔준다.
동의항목에서 카카오 로그인시 우리 애플리케이션으로 어떤 정보를 가져올 지 결정할 수 있다.
참고로, 카카오계정(이메일)의 경우 비즈니스앱으로 등록되어야 필수 동의를 사용가능한 것으로 보인다.
안드로이드의 경우, 패키지명은 /android/app/src/main/AndroidManifest.xml
에서 package를 보고 확인할 수 있고, 키 해시는 다음 명령어를 통해 알아낼 수 있다.
$ keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
절대경로이므로 터미널 어느곳에서 쳐도 상관 없다.
그리고 플러터에서 /android/app/src/main/AndroidManifest.xml
에 다음을 추가해준다.
<activity
android:name="com.kakao.sdk.flutter.AuthCodeCustomTabsActivity"
android:exported="true">
<intent-filter android:label="flutter_web_auth">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Redirect URI, "kakao${YOUR_NATIVE_APP_KEY}://oauth" 형식 -->
<data android:scheme="kakao 네이티브 앱 키 넣어주기" android:host="oauth"/>
</intent-filter>
</activity>
ios의 경우, 번들 ID는 xcode에서 Runner > Signing & Capabilities > Bundle Identifier
에서 확인할 수 있다.
그리고 플러터에서 ios/Runner/Info.plist
에 다음을 추가해준다.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<!-- kakao login -->
<string>kakao 네이티브 앱 키 넣어주기</string>
</array>
</dict>
</array>
참고
https://dalgoodori.tistory.com/45
카카오 공식 문서 (Flutter)
https://developers.kakao.com/docs/latest/ko/getting-started/sdk-flutter