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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Swift
versuchen
GIDSignIn.sharedInstance().signOut()
objective - c
Ja, wie @Rahul, sagte folgenden code würde der richtige Weg zu gehen über es.
https://developers.google.com/identity/sign-in/ios/sign-in?ver=swift#sign_out_the_user
Wollte zu erarbeiten ein wenig auf die vorherigen Antworten nach dem spielen mit der
GoogleSignIn
SDK.Sah ich die
signOut()
unddisconnect()
Methoden und Frage mich, was die Unterschiede waren.signOut()
ein synchroner Aufruf:disconnect()
es einem Benutzer ermöglicht, zu widerrufen Zugriff auf die app zusätzlich, um sich abzumelden. Ich nehme an, dies bedeutet, dass Sie benötigen, um re-erteilen von Berechtigungen für die app, wenn Sie wählen, um sich erneut anzumelden.Laut Google Developer Docs, wenn ein Benutzer wählt, um trennen von der app, dann müssen Sie zum entfernen des Benutzers Google-Daten, gespeichert in der app.
Auch
disconnect()
asynchron ist. Das Ergebnis der disconnect aufrufen, wird wieder dieGIDSignInDelegate.sign(_:didDisconnectWith:withError:)
Methode.signOut
oderdisconnect
nicht Abmelden. Schlagen Sie den Abmelden-link in mobile Safari oder die SafariViewController das Problem behoben wurde.Versuchen, mein code..