구글로그인 해제

2025. 1. 9. 21:53iOS

반응형

구글 로그인에서는 애플 로그인과 다르게 명시적으로 "구글 계정 연동 해제" 기능을 제공하고 있습니다. 사용자가 구글 로그인 계정연동 해제하려면 GoogleSignIn SDK를 통해 이를 처리할 수 있습니다. 구글 로그인 연동 해제는 보통 로그아웃 또는 연결된 구글 계정 삭제와 같은 작업으로 이루어집니다.

여기서는 구글 로그인 계정을 연동 해제하는 방법을 Xcode에서 사용하는 구글 로그인 SDK를 이용해 설명드리겠습니다.


1. 구글 로그인 연동 해제 (로그아웃)

구글 로그인 SDK에서 제공하는 GIDSignIn 클래스의 signOut 메서드를 사용하여 로그아웃(연동 해제)을 처리할 수 있습니다. 이 메서드를 호출하면, 사용자가 로그인한 구글 계정의 연결을 끊고 세션을 종료합니다.

1.1 구글 로그인 로그아웃 처리 예시

구글 로그인 로그아웃을 처리하려면 먼저 GoogleSignIn 라이브러리를 설치하고 설정해야 합니다. 이후 로그아웃을 처리하는 코드는 다음과 같습니다.

  1. GoogleSignIn 라이브러리 설치: Podfile에 GoogleSignIn을 추가합니다.
pod 'GoogleSignIn'
  1. 구글 로그인 로그아웃 처리 코드:
import GoogleSignIn func logoutFromGoogle() { 
	GIDSignIn.sharedInstance.signOut() 
    print("구글 계정 로그아웃 완료") 
    
    // 추가적으로 로그인 화면이나 다른 후속 작업을 처리할 수 있습니다. 
    // 예: 앱 내 세션 정보 삭제, 로그인 UI 표시 등 
}

 

GIDSignIn.sharedInstance.signOut() 메서드를 호출하면 사용자가 구글 로그인 상태에서 로그아웃됩니다.

1.2 구글 로그인 상태 확인

구글 로그인 상태를 확인하려면 GIDSignIn.sharedInstance.hasPreviousSignIn() 메서드를 사용하여 이전 로그인 여부를 확인할 수 있습니다.

 
import GoogleSignIn 

func checkGoogleSignInStatus() { 
	if GIDSignIn.sharedInstance.hasPreviousSignIn() { 
    	print("구글에 로그인된 계정이 있습니다.") 
    } else { 
    	print("구글에 로그인된 계정이 없습니다.") 
    } 
}

이 메서드를 사용하여 로그인된 구글 계정이 있는지 확인하고, 필요에 따라 로그인 또는 로그아웃 처리를 할 수 있습니다.


2. 구글 계정 연결 해제 (연결된 계정 삭제)

구글 로그인 계정을 완전히 연결 해제하려면 사용자가 구글 계정 연결을 삭제하는 방법을 제공해야 합니다. 이는 GIDSignIn.sharedInstance.disconnect() 메서드를 통해 가능합니다. 하지만 이 기능은 OAuth 2.0과 관련된 계정 연결을 해제하는 방식이며, 사용자가 더 이상 해당 구글 계정으로 앱을 사용하지 않도록 설정할 수 있습니다.

2.1 구글 계정 연결 해제

 
import GoogleSignIn 

func disconnectGoogleAccount() { 
	GIDSignIn.sharedInstance.disconnect { error in 
    	if let error = error { 
        	print("구글 계정 연결 해제 오류: \(error.localizedDescription)") 
        } else { 
        	print("구글 계정 연결 해제 완료") 
        } 
    } 
}

disconnect 메서드는 사용자가 구글 계정과 연결된 앱의 연결을 해제합니다. 이 작업은 애플 로그인에서의 연동 해제와 유사한 기능입니다.


3. 로그인 후 처리

구글 로그인 후 얻은 사용자 정보는 GIDGoogleUser 객체로 받아올 수 있으며, 연동 해제나 로그아웃 후에는 이 정보를 초기화하는 작업이 필요합니다.

 
import GoogleSignIn 

func handleGoogleLogin() { 
	GIDSignIn.sharedInstance.restorePreviousSignIn { user, error in 
    	if let error = error { 
        	print("구글 로그인 오류: \(error.localizedDescription)") 
        } else if let user = user { 
        	// 로그인 성공 시, 사용자 정보 처리 
            print("로그인한 구글 사용자: \(user.profile.name)") 
        } 
    } 
}

로그인 후 GIDSignIn.sharedInstance.restorePreviousSignIn을 사용하여 로그인된 구글 계정의 정보를 복원할 수 있습니다. 이 후 사용자가 로그아웃하면 이 정보는 초기화되어야 합니다.


4. 구글 로그인에서의 중요한 점

  • 로그아웃: signOut() 메서드를 사용하여 사용자가 구글 로그인 세션을 종료합니다.
  • 연결 해제: disconnect() 메서드를 사용하여 구글 계정과 앱 간의 연결을 끊습니다.
  • 세션 관리: 로그인 후 사용자 정보를 관리하고, 로그아웃 시에는 이를 초기화해야 합니다.

결론

구글 로그인에서는 로그아웃을 통해 연동을 끊는 방식과, 연결 해제를 통해 구글 계정과의 연결을 제거하는 두 가지 방법을 제공합니다. 이를 적절하게 활용하여 사용자가 원하는 방식으로 구글 계정 연동을 해제할 수 있습니다

반응형

'iOS' 카테고리의 다른 글

[RxSwift] zip, combineLate  (1) 2025.01.09
[RxSwift] Button rx.tap  (2) 2025.01.09
iOS Universal Links (유니버셜 링크)  (1) 2025.01.09
애플로그인 계정 연동해제  (0) 2025.01.09
radix : 진수변환  (0) 2024.08.09