취업/소셜로그인

[RN]리액트 네이티브(16)"네이버 SNS 로그인 완성"

카슈밀 2021. 4. 20. 10:25
반응형

네아로(네이버 아이디 로그인)는 문제가 많다. ㅡㅡ^;;;;

왜냐하면, 해당 네이버 로그인의 경우 일단 개발용인데도 검수를 요구하기때문이다.

나도 처음에는 그렇게 읽었다.

 

하지만, 실제로는 다르다.

이렇게 적은 네이버는 수정할 필요가 있다.

 

ksnumerkey와 ksecretkey를 발급받기 위한 절차가 적혀있다.

저 url부분만 없어도 그냥 개발할텐데 왜 저걸 저 순서로 박아둔건지 모르겠다;;;

url때문에 가짜 url주소를 기입해도 되는 지 몰랐었다.

 

순서를 위한 설명서

yoonbumtae.com/?p=1818

 

Spring Boot: "네이버 아이디로 로그인하기" 연동하기 (1) - BGSMM

깃허브에서 전체 코드 보기 - https://github.com/ayaysir/spring-boot-security-example-1   네이버 개발자 센터: 네이버 아이디로 로그인하기 튜토리얼 네이버 개발자 센터: 네이버 아이디로 로그인하기 API   1

yoonbumtae.com

Gradle 설정과 코드 작성을 위한 라이브러리

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

 

react-native-seoul/react-native-naver-login

리엑트 네이티브 네이버 로그인 라이브러리. Contribute to react-native-seoul/react-native-naver-login development by creating an account on GitHub.

github.com

해당 코드들을

const naverLogin = props => {
    return new Promise((resolve, reject) => {
      NaverLogin.login(props, (err, token) => {
        console.log(`\n\n  Token is fetched  :: ${token} \n\n`);
        setNaverToken(token);
        if (err) {
          reject(err);
          return;
        }
        resolve(token);
        getUserProfile(); // <---- 요기 추가
      });
    });
  };
  
  const getUserProfile = async () => {
    const profileResult = await getProfile(naverToken.accessToken);
    if (profileResult.resultcode === "024") {
      Alert.alert("로그인 실패", profileResult.message);
      return;
    }
    console.log("profileResult", profileResult);
  };

이렇게 로그인함수 안에서 getuserprofile을 호출했더니 naverToken값이 null로 들어가는 문제가 있었다.

그리하여 이를 어떻게 호출할까하다가

useEffect로 해당 naverToken에 변화가 있을시에 자동 호출되게 만들었더니 정상 호출되었다.

 

카카오톡땐 필수 부가 설명이 없어 매우 개고생하면서 만들었는데, 이건 그냥 껌수준이었다.

728x90