Vì vậy, ứng dụng của tôi có tùy chọn để đăng nhập bằng Google. Khi nhấp vào nút mà Google cung cấp, chế độ xem web sẽ mở ra và cho phép người dùng nhập thông tin đăng nhập của họ. Sau khi cho phép ứng dụng truy cập thông tin của họ, ứng dụng sau đó đăng nhập người dùng và thay đổi SignInViewController thành TabBarController (nơi họ hiện có thể tương tác tương ứng).Cách đăng xuất khỏi Google sau khi được xác thực
Khi người dùng nhấn nút Đăng xuất, họ sẽ được chuyển hướng đến màn hình đăng nhập như mong đợi. Nhưng điều kỳ lạ là, nếu người dùng nhấn nút google một lần nữa, họ sẽ tự động đăng nhập mà không có thêm xác thực nào cả và không có tùy chọn để xóa tài khoản của họ. Là một cách để xóa thông tin đăng nhập tài khoản google nhằm bảo vệ người dùng khỏi bị đánh cắp tình cờ?
Đăng nhập chức năng:
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)
}
// ...
}
Đăng ra chức năng:
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)")
}
}
bạn đã thử GIDSignIn.sharedInstance() .signOut() –
Cảm ơn bạn, đã hoạt động! – About7Deaths
Bạn được chào đón –