Wie Melden Sie Sich von Google, Nachdem er Authentifiziert

Also meine app hat die Möglichkeit, mit Google anmelden. Bei Klick auf die Schaltfläche, die Google bietet, ein web-Ansicht öffnet sich und hat die Benutzeroberfläche für die Eingabe Ihrer Anmeldeinformationen. Nach dem erlauben der app den Zugriff auf Ihre Informationen, die die app dann unterschreibt der Benutzer in die und änderungen der SignInViewController der TabBarController (, wo Sie können interagieren jetzt entsprechend).

Wenn der Benutzer drückt eine Signout-button werden Sie weitergeleitet auf die login-Bildschirm, wie man erwarten würde. Aber das seltsame ist, wenn der Benutzer drückt die google-Taste erneut, werden Sie automatisch angemeldet ohne weitere Authentifizierung auf alle und keine option zum löschen Ihres Kontos. Ist Ihr eine Möglichkeit, deaktivieren Sie das google-Konto-Anmeldeinformationen wie zum Schutz der Nutzer vor versehentlichen Diebstahl?

Sign-in-Funktion:

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)
    }
    //...
}

Sign-out-Funktion:

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)")
    }
}
  • haben Sie versucht, GIDSignIn.sharedInstance().signOut()
  • Danke, das hat funktioniert!
  • Sie sind herzlich willkommen
InformationsquelleAutor About7Deaths | 2016-06-21
Schreibe einen Kommentar