|
@@ -21,12 +21,16 @@ const initials = {
|
|
|
class Lm {
|
|
|
logout = async ()=>{
|
|
|
let result = await LoginManager.logOut();
|
|
|
- // console.log(result);
|
|
|
+ try {
|
|
|
+ result = await GoogleSignin.revokeAccess();
|
|
|
+ result = await GoogleSignin.signOut();
|
|
|
+ } catch (error) {
|
|
|
+ }
|
|
|
+
|
|
|
result = await RNKakao.logout();
|
|
|
- // console.log(result);
|
|
|
|
|
|
result = await NaverLogin.logout();
|
|
|
- // console.log(result);
|
|
|
+
|
|
|
AsyncStorage.removeItem("@naverToken");
|
|
|
return true;
|
|
|
}
|
|
@@ -40,6 +44,7 @@ export default (props)=>{
|
|
|
let callLogin = async (bfirst)=>{
|
|
|
let rtn = {iface : null, token : null, id : null };
|
|
|
let fbData = await AccessToken.getCurrentAccessToken(); // 페이스북
|
|
|
+ console.log("fbData >>>: " , fbData);
|
|
|
if (fbData){
|
|
|
rtn.iface = "facebook"
|
|
|
rtn.id = fbData.userID;
|
|
@@ -47,15 +52,28 @@ export default (props)=>{
|
|
|
props.onLogin && props.onLogin(rtn, bfirst);
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ if(GoogleSignin.isSignedIn()){
|
|
|
+ try {
|
|
|
+ rtn.iface = "google";
|
|
|
+ rtn.token = (await GoogleSignin.getTokens()).accessToken;
|
|
|
+ rtn.id = (await GoogleSignin.getCurrentUser()).user.id;
|
|
|
+ } catch (error) {}
|
|
|
+ props.onLogin && props.onLogin(rtn, bfirst);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
let naverToken = await AsyncStorage.getItem("@naverToken");
|
|
|
if(naverToken){
|
|
|
let profile = await getProfile(naverToken);
|
|
|
- rtn.iface = "naver";
|
|
|
- rtn.id = profile.response.id;
|
|
|
- rtn.token = naverToken;
|
|
|
- props.onLogin && props.onLogin(rtn, bfirst);
|
|
|
- return ;
|
|
|
+ if(profile.resultcode =='00') {
|
|
|
+ rtn.iface = "naver";
|
|
|
+ rtn.id = profile.response.id;
|
|
|
+ rtn.token = naverToken;
|
|
|
+ props.onLogin && props.onLogin(rtn, bfirst);
|
|
|
+ return ;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
try {
|
|
@@ -67,6 +85,7 @@ export default (props)=>{
|
|
|
props.onLogin && props.onLogin(rtn, bfirst);
|
|
|
return ;
|
|
|
}
|
|
|
+
|
|
|
} catch (error) {}
|
|
|
|
|
|
|
|
@@ -83,7 +102,29 @@ export default (props)=>{
|
|
|
}
|
|
|
}
|
|
|
let googoleSignIn = async () =>{
|
|
|
-
|
|
|
+ GoogleSignin.configure();
|
|
|
+ try {
|
|
|
+ if(await GoogleSignin.hasPlayServices()){
|
|
|
+ const result = await GoogleSignin.signIn();
|
|
|
+ if(result){
|
|
|
+ callLogin(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ if (error.code === statusCodes.SIGN_IN_CANCELLED) {
|
|
|
+ // user cancelled the login flow
|
|
|
+ console.log('cancel',error);
|
|
|
+ } else if (error.code === statusCodes.IN_PROGRESS) {
|
|
|
+ // operation (f.e. sign in) is in progress already
|
|
|
+ console.log('progress',error);
|
|
|
+ } else if (error.code === statusCodes.PLAY_SERVICES_NOT_AVAILABLE) {
|
|
|
+ // play services not available or outdated
|
|
|
+ console.log('service not available',error);
|
|
|
+ } else {
|
|
|
+ // some other error happened
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
let kakaoLogin = async () =>{
|
|
|
const result = await RNKakao.login();
|