crossplatformkorea / react-native-kakao-login

react-native native module for Kakao sign in.
MIT License
358 stars 135 forks source link

getProfile 함수 업데이트 가능할까요? #314

Closed JamesSleep closed 2 years ago

JamesSleep commented 2 years ago

Version of kakao-login libraries

4.1.0

Version of react-native

0.64.2

Platforms you faced the error (IOS or Android or both?)

both

Expected behavior

getProfile에서 name 프로퍼티를 불러와야합니다.

Actual behavior

Tested environment (Emulator? Real Device?)

현재 getProfile 함수에서 name 프로퍼티를 불러오지못하고 있습니다.

저희 회사에서는 비즈니스앱 및 검수요청을 마친 상태고 실명 정보를 불러와야하는데 네이티브 코드에서 불러오지 못하는것으로 확인되었습니다.

로컬에서는 node_modules 하위에 있는 kotlin, swift 코드를 수정하였지만 회사내부에서 일일이 코드를 직접 수정해줘야하는 상황이라 혹시나 업데이트가 가능한지 문의드립니다.

제가 아직 경험이 부족하다보니 풀리퀘스트 같은것도 해본적이 없어 이렇게 이슈 남겨드립니다.

# RNKakaoLoginsModule.kt

 @ReactMethod
    private fun getProfile(promise: Promise) {
     ........
     ........
      if (kakaoUser != null) {
                    map.putString("email", kakaoUser!!.email.toString())
                    map.putString("nickname", kakaoUser.profile?.nickname)
                    map.putString("profileImageUrl", kakaoUser.profile?.profileImageUrl)
                    map.putString("thumbnailImageUrl", kakaoUser.profile?.thumbnailImageUrl)
                    // put 'name'
                    map.putString("name", kakaoUser.name.toString())
     ........
     ........
# RNKakaoLogins.swift

func getProfile(_ resolve: @escaping RCTPromiseResolveBlock,
               rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
        DispatchQueue.main.async {
        .........
        .........
                 resolve([
                        "id": user?.id as Any,
                        // put 'name'
                        "name": user?.kakaoAccount?.name as Any,

                        "email": user?.kakaoAccount?.email as Any,
                        "nickname": user?.kakaoAccount?.profile?.nickname as Any,
         .........
         .........

위 코드 수정 후 빌드까지 확인했습니다.

shkim21 commented 2 years ago

안녕하세요 저도 Android에서 getProfile()에서 오류가 발생하여 문의드립니다. 저의 에러는 err: [Error: no authentication key!] 입니다.


저의 경우는 해시키를 받아오는 오류였습니다..ㅎㅎ 해결되었어요!(updated 07/19)