瀏覽代碼

네이버 로그인

자유해결사 6 年之前
父節點
當前提交
44b2031489

+ 7 - 1
android/app/build.gradle

@@ -121,7 +121,12 @@ def enableHermes = project.ext.react.get("enableHermes", false);
 
 android {
     compileSdkVersion rootProject.ext.compileSdkVersion
-
+    lintOptions {
+        checkReleaseBuilds false
+        // Or, if you prefer, you can continue to check for errors in release builds,
+        // but continue the build even when errors are found:
+        abortOnError false
+    }
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
@@ -196,6 +201,7 @@ android {
 }
 
 dependencies {
+    implementation project(':react-native-naver-login')
     implementation project(':react-native-kakao')
     implementation project(':react-native-fbsdk')
     implementation project(':react-native-vector-icons')

+ 1 - 0
android/app/src/main/java/org/seonsujoa/emptyapp/MainApplication.java

@@ -7,6 +7,7 @@ import com.facebook.react.PackageList;
 import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
 import com.facebook.react.bridge.JavaScriptExecutorFactory;
 import com.facebook.react.ReactApplication;
+import com.dooboolab.naverlogin.RNNaverLoginPackage;
 import com.jeffgukang.ReactNativeKakao.ReactNativeKakaoReactPackage;
 import com.facebook.reactnative.androidsdk.FBSDKPackage;
 import com.oblador.vectoricons.VectorIconsPackage;

+ 2 - 0
android/settings.gradle

@@ -1,4 +1,6 @@
 rootProject.name = 'emptyApp'
+include ':react-native-naver-login'
+project(':react-native-naver-login').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-naver-login/android')
 include ':react-native-kakao'
 project(':react-native-kakao').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-kakao/android')
 include ':react-native-fbsdk'

+ 2 - 0
ios/Podfile

@@ -34,6 +34,8 @@ target 'emptyApp' do
 
   pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'
 
+  pod 'RNNaverLogin', :path => '../node_modules/react-native-naver-login'
+
   target 'emptyAppTests' do
     inherit! :search_paths
     # Pods for testing

+ 42 - 8
src/pages/_1_Login.js

@@ -4,13 +4,22 @@ import RNKakao from 'react-native-kakao';
 import C from 'rn-class'
 C.addColor("#03cf5d", "color-naver");
 
+import { NaverLogin, getProfile } from 'react-native-naver-login';
+const initials = {
+  kConsumerKey: 'VWv4bOdB5Bf07a26eJ5h',
+  kConsumerSecret: 'pBASnpI7X5',
+  kServiceAppName: 'emptyApp',
+  kServiceAppUrlScheme: 'dooboolaburlscheme', // only for iOS
+};
+
+
 
 export default (props)=>{
 
     const authLogin = () => {
         props.navigation.navigate('AcceptTerms');
     }
-    kakaoLogin = async () => {
+    const kakaoLogin = async () => {
         try {
           const result = await RNKakao.login();
           this.setState({
@@ -23,7 +32,7 @@ export default (props)=>{
         }
       }
     
-      kakaoLogout = async () => {
+      const kakaoLogout = async () => {
         try {
           const result = await RNKakao.logout();
           this.setState({
@@ -36,7 +45,7 @@ export default (props)=>{
         }
       }
     
-      getUserInfo = async () => {
+      const  getUserInfo = async () => {
         try {
           const result = await RNKakao.userInfo();
           this.setState({
@@ -49,6 +58,30 @@ export default (props)=>{
         }
       }
 
+
+      const naverLogin =  async (props) => {
+        NaverLogin.login(initials, (err, token) => {
+          console.log(`\n\n  Token is fetched  :: ${token} \n\n`);
+          // this.setState(); 
+          console.log({ theToken: token });
+          if (err) {
+            console.log(err);
+            return;
+          }
+        });
+      
+        // return new Promise(function (resolve, reject) {
+        //   console.log(props);
+        //   NaverLogin.login(props, (err, token) => {
+        //     console.log(`\n\n  Token is fetched  :: ${token} \n\n`);
+        //     if (err) {
+        //       reject(err);
+        //       return;
+        //     }
+        //     resolve(token);
+        //   });
+        // });
+      };  
     return (
         <C.View cls="jc-sa ai-c flx1 bgc-color-white"> 
             <C.ImageBackground source={require("../res/speech_bubble.png")} 
@@ -63,8 +96,9 @@ export default (props)=>{
                 </C.Text>
             </C.View>
             <C.View  cls="jc-sa flx0.3 w80%">
-                {/* <C.EL.Button onPress={authLogin} btncls="bgc-color-facebook" title="Facebook" /> */}
+                {/* <C.EL.Button btncls="bgc-color-facebook" title="Facebook" /> */}
                 <LoginButton
+                        // style={C.n2cls("w100%") }   
                         onLoginFinished={
                             (error, result) => {
                             if (error) {
@@ -84,14 +118,14 @@ export default (props)=>{
 
 
 
-                <C.EL.Button onPress={authLogin} btncls="bgc-color-google-plus" title="Google"/>
-
+                <C.EL.Button btncls="bgc-color-google-plus " title="Google"/>
 
-                <C.EL.Button onPress={authLogin} btncls="bgc-color-kakao" tcls="color-kakaotext" title="Kakao" onPress={kakaoLogin}/>
 
+                <C.EL.Button btncls="bgc-color-kakao " tcls="color-kakaotext" title="Kakao" onPress={kakaoLogin}/>
 
+ 
 
-                <C.EL.Button onPress={authLogin} btncls="bgc-color-naver" title="Naver"/> 
+                <C.EL.Button btncls="bgc-color-naver " title="Naver"  onPress={naverLogin}/> 
             </C.View>
         </C.View>
     )