Итак, у моего приложения есть возможность входа в систему с помощью Google. После нажатия кнопки, которую предоставляет Google, открывается веб-представление и пользователь вводит свои учетные данные. После того, как приложение сможет получить доступ к своей информации, приложение затем подписывает пользователя и изменяет SignInViewController на TabBarController (где они могут теперь взаимодействовать соответственно).Как выйти из Google после проверки подлинности
Когда пользователь нажимает кнопку «Выйти», они направляются на экран входа в систему, как и следовало ожидать. Но странно, если пользователь снова нажимает кнопку 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)")
}
}
вы пробовали GIDSignIn.sharedInstance() .signOut() –
Спасибо, это сработало! – About7Deaths
Добро пожаловать –