2016-06-21 17 views
14

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)") 
    } 
} 
+0

bạn đã thử GIDSignIn.sharedInstance() .signOut() –

+0

Cảm ơn bạn, đã hoạt động! – About7Deaths

+0

Bạn được chào đón –

Trả lời

26

Swift

thử GIDSignIn.sharedInstance().signOut()

khách quan - c

[[GIDSignIn sharedInstance] signOut]; 
Các vấn đề liên quan