코딩/React Native

[RN]리액트 네이티브(15) "@react-native-seoul/kakao-login 동의하고 계속하기 넘어가지 않는 문제 해결"

카슈밀 2021. 4. 19. 13:54
반응형

github.com/react-native-seoul/react-native-kakao-login

 

react-native-seoul/react-native-kakao-login

react-native native module for Kakao sign in. Contribute to react-native-seoul/react-native-kakao-login development by creating an account on GitHub.

github.com

해당 라이브러리를 쓰는데, 아무리해도 로그인이 진행되지 않는다;;;

 

이것에 무려 3일이상 낭비를 -0-

시간 아까워라...

 

원인은 좀 이상한 이유였다.

 

안드로이드 스튜디오로 들어가 해당 프로젝트 - android 폴더를 클릭하면 해당 라이브러리들이 설치 되어 있는데

이때 해당 라이브러리 자체로 들어가 수정해줘야 하는 부분이 있다.

 

이부분으로 인해 코드 자체에서 아무리 쳐도 라이브러리 디폴트(원 개발자) 주소로 빠지던 것;;;

기본 라이브러리 개발자 네이티브 앱 키로 등록되어 있다.

	<activity android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity">
        <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />

        <!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth" -->
          <data android:host="oauth"
            android:scheme="kakaoababxㅇㄹㄴㄹㄴㄹㄴㄹㄴㄹㄴㄹㄴㄹㄴㄹㄴㄹ" />
        </intent-filte>
      </activity>

위 코드처럼 해야 해당 부분의 라이브러리가 정상적으로 진행된다.

 

기존에 위 안드로이드 디폴트 폴더를 건드리지 않아 위코드 처럼 작성시 해당 디폴트 주소로 빠지는 오류가 있었다.;;;

 

원래는 아래처럼 작성하는 게 맞는데.... 

출처 : https://developers.kakao.com/docs/latest/ko/kakaologin/android

위처럼 {}로 코드를 감싸버리면 해당 주소로 호출은 되지만 더 이상 넘어가지 않게 막히게 된다.

<activity android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity">
        <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />

        <!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth" -->
          <data android:host="oauth"
            android:scheme="kakao{이렇게 네이티브 키 넣으면 안됩니다.}" />
        </intent-filter>
      </activity>

하지만 기본주소로 디폴트 되어 있었기에 {}로 감싸지 않으면

해당 라이브러리 개발자 주소로 넘어가서 울며 겨자먹기로 썼는데, 이게 문제일 줄은;;;

이거 해결이 안되서 개고생을.... >,.<

 

+ TIP으로 기본적 디버깅용 키 해쉬 값은 아래와 같다.

React Native 0.60.x 부터 기본적으로 포함되는 디버깅 키의 해시는 다음과 같고 ../project/android/app에

디버그용 키스토어가 존재합니다

ex: Xo8WBi6jzSxKDVR4drqm84yr9iU= 

 

$ keytool -exportcert -alias androiddebugkey -keystore ~./android/app/src/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

위의 keytool 쓰지말자.

이상한 키만 준다;;;

리액트 네이티브 0.62부터 해당 키해쉬는 debug.keystore에 있다.

 

github.com/react-native-seoul/react-native-kakao-login/issues/209

 

[안드로이드] 카카오가 설치되어 있지 않은 경우 웹브라우저에 의한 로그인이 동작하지 않습니

Version of kakao-login libraries 버전 : 3.0.6 Version of react-native react-native : 0.63.4 react-native-cli : 2.0.1 Platforms you faced the error (IOS or Android or both?) 문제가 발생한 플랫홈 : android Expe...

github.com

 

잘 모르겠으면 해당 내용 참조

gale-lee.medium.com/expokit-android-%EC%B9%B4%EC%B9%B4%EC%98%A4-%EB%A1%9C%EA%B7%B8%EC%9D%B8-a3506a073184

 

ExpoKit Android 카카오 로그인

ExpoKit Android 카카오 로그인을 정리하겠습니다. 네이티브 모듈은 강효찬님의 react-native-kakao-login을 사용하겠습니다.

gale-lee.medium.com

 

문제 다 해결하니까 발견한 블로그...

728x90