Quindi la mia app ha la possibilità di accedere con Google. Facendo clic sul pulsante fornito da Google, viene aperta una vista Web e l'utente inserisce le proprie credenziali. Dopo aver consentito all'app di accedere alle proprie informazioni, l'app firma l'utente e modifica SignInViewController sul TabBarController (dove ora possono interagire di conseguenza).Come uscire da Google dopo l'autenticazione
Quando l'utente preme un pulsante Signout, viene indirizzato alla schermata di accesso come ci si aspetterebbe. Ma la cosa strana è che, se l'utente preme di nuovo il pulsante google, viene automaticamente eseguito l'accesso senza ulteriore autenticazione e nessuna opzione per rimuovere il proprio account. È un modo per cancellare le credenziali dell'account google in modo da proteggere gli utenti dal furto accidentale?
Accedi funzione:
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)
}
// ...
}
Segno out funzione:
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)")
}
}
Hai provato GIDSignIn.sharedInstance() .signOut() –
Grazie, ha funzionato! – About7Deaths
Prego –