在我的应用中,我正在使用谷歌,面书登录。我能够正确登录,但当我尝试从谷歌退出时,脸书我使用以下代码。但即使我从我的应用程序退出,我的问题仍然存在。
当我点击登录按钮时,它会询问权限而不是登录屏幕。即使我从我的应用程序注销,我是否需要在safari浏览器(设置中的清除cookie)或设备社交应用程序中注销,或者我是否需要从Appdelegate注销。
如何从自己的应用程序完成注销。
[[GPPSignIn sharedInstance] signOut];
//facebook
FBSession* session = [FBSession activeSession];
[session closeAndClearTokenInformation];
[session close];
[FBSession setActiveSession:nil];
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray* facebookCookies = [cookies cookiesForURL:[NSURL URLWithString:@"https://facebook.com/"]];
for (NSHTTPCookie* cookie in facebookCookies) {
[cookies deleteCookie:cookie];
}
答案 0 :(得分:0)
对于FB,closeAndClearTokenInformation仅记录用户的应用程序,而不是任何其他应用程序(如Facebook用户或Safari,如果用户已登录)。
当您再次登录时,它将快速应用程序切换(到FB应用程序或Safari),如果用户仍然在那里登录,它将只切换回来并为您的应用程序提供访问令牌(除非您要求其他权限)。这就是SSO的工作方式。