Parse invalid session token (Code: 209, Version: 1.7.1)
Solution 1
Some of the answers posted were temporary fixes - however the problem could reoccur later if a user logged out and tried to log back in again - I think this was due to me allowing anonymous users also - the only way I could clear it is to call [pfuser logout] prior to log in
Solution 2
Delete the app from the simulator or your phone, then rebuild and re-run the app. Sometimes an old token gets cached. I just solved this problem for my app.
Solution 3
Check out this page: https://parse.com/tutorials/session-migration-tutorial
Most likely your app was using legacy session tokens. You can migrate to revocable session tokens by adding this to your app delegate right after you set the app id and client key.
[PFUser enableRevocableSessionInBackground];
Parse's website has a section on handling this error that might be of more help to you: https://www.parse.com/docs/ios_guide#sessions-handleerror/iOS
Solution 4
I think there some more steps need to be followed:
You have to add
[FBSDKAppEvents activateApp]
inapplicationDidBecomeActive
.You should write
return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
in methoddidFinishLaunchingWithOptions
inAppDelegate
.
Trying above steps should work for you.
Solution 5
With revocable sessions, your current session token could become invalid if its corresponding Session object is deleted from the Parse Cloud. This could happen if you implement a Session Manager UI that lets users log out of other devices, or if you manually delete the session via Cloud Code, REST API, or Data Browser. Sessions could also be deleted due to automatic expiration (if configured in app settings). When a device’s session token no longer corresponds to a Session object on the Parse Cloud, all API requests from that device will fail with “Error 209: invalid session token”.
user499846
Updated on June 11, 2022Comments
-
user499846 almost 2 years
I have just update both my Parse and Facebook SDK's (1.7.1 and 4.0 respectively) - both were an absolute pain to get working I might add!
However I now getting 209 errors when I try to log in with Facebook.
Here's an example of my code:
- (void)loginWithFacebook:(HMSuccessBlock)completion{ NSArray *permissionsArray = @[@"user_about_me",@"user_location",@"user_friends",@"user_relationships"]; // Login PFUser using Facebook [PFFacebookUtils logInInBackgroundWithReadPermissions:permissionsArray block:^(PFUser *user, NSError *error) { if (!user) { NSLog(@"Uh oh. The user cancelled the Facebook login."); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Log In Error" message:error.localizedDescription delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Dismiss", nil]; [alert show]; completion(NO, error); } else if (user.isNew) { NSLog(@"User signed up and logged in through Facebook!"); if (completion) { completion(YES, nil); } } else { NSLog(@"User logged in through Facebook!"); completion(YES, nil); } }]; }
Which yeilds the following [Error]: invalid session token (Code: 209, Version: 1.7.1)
My initial thinking is that the issue is something to do with my code in the app delegate - on older versions of the facebooksdk I would apply the following code
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]]; }
However I cant seem to find anything to replicate this in the updated version, hence my code being
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; }
Any help would be greatly appreciated.