Как выйти из Google после проверки подлинности

Итак, у моего приложения есть возможность войти в Google. После нажатия кнопки, которую предоставляет Google, открывается веб-представление и пользователь вводит свои учетные данные. После того, как приложение сможет получать доступ к своей информации, приложение затем подписывает пользователя и изменяет SignInViewController на TabBarController (где они могут теперь взаимодействовать соответственно).

Когда пользователь нажимает кнопку "Выйти", они направляются на экран входа в систему, как и следовало ожидать. Но странно, если пользователь снова нажимает кнопку Google, они автоматически подписываются без дополнительной аутентификации и не могут удалить свою учетную запись. Является ли это способом очистки учетных данных учетной записи google, чтобы защитить пользователей от случайного кражи?

Функция входа:

func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) {
    if let error = error {
        print(error.localizedDescription)
        return
    }
    let authentication = user.authentication
    let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken, accessToken: authentication.accessToken)
    FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
        // ...
        SignInViewController().signedIn(user)
    }
    // ...
}

Функция выхода:

func signOutOverride() {
    do {
        try! FIRAuth.auth()!.signOut()
        CredentialState.sharedInstance.signedIn = false
        // Set the view to the login screen after signing out
        let storyboard = UIStoryboard(name: "SignIn", bundle: nil)
        let loginVC = storyboard.instantiateViewControllerWithIdentifier("SignInVC") as! SignInViewController
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        appDelegate.window?.rootViewController = loginVC
    } catch let signOutError as NSError {
        print ("Error signing out: \(signOutError)")
    }
}

Ответ 1

Swift

попробуйте GIDSignIn.sharedInstance().signOut()

цель - c

[[GIDSignIn sharedInstance] signOut];