With the new Facebook library, FBSession object is disappeared. How can i check if user has a valid session on his device immediately when he start the app without prompt to safari or uiwebview ?
The [facebook isSessionValid] method works on acccessToken but accessToken is set when app come back from safari (or inline uiwebview).
Is it possibleto check session using cookies ?
After a successful login, you want to save the access token and expiration date, like this:
[[NSUserDefaults standardUserDefaults] setObject:_facebook.accessToken forKey:@"AccessToken"];
[[NSUserDefaults standardUserDefaults] setObject:_facebook.expirationDate forKey:@"ExpirationDate"];
[[NSUserDefaults standardUserDefaults] synchronize];
Then, when you load the app, you want to check if there is a saved token, like this:
_facebook = [[Facebook alloc] initWithAppId:@"[app_id]"];
_facebook.accessToken = [[NSUserDefaults standardUserDefaults] stringForKey:@"AccessToken"];
_facebook.expirationDate = (NSDate *) [[NSUserDefaults standardUserDefaults] objectForKey:@"ExpirationDate"];
if (![_facebook isSessionValid]) {
[_facebook authorize:_permissions delegate:self];
}
else {
[_facebook requestWithGraphPath:@"me" andDelegate:self];
}
Hope this helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With