Question

I had made the twitter application using the OAuth and MGTwitterEngine Library. The login phase is working fine but I am facing problem in logout. I had referred all the post of logout for OAuth but it doesn't works. So can anyone suggest the perfect method for logout from the Twitter ...? OR What changes I have to make in the Library file for the logout..!!

Was it helpful?

Solution

There is no sign out from Twitter OAuth/xAuth... you need to implement client side solution:

  1. persistently store the access token in the keychain or coredata (it never expires unless the user revoke your application from his/her account) when log in and use it in subsequent calls to twitter and " keeping the user signed in"
  2. when signing out delete any related data stored (in this case the access token)

hope that will help

OTHER TIPS

Did anyone ever find the solution for this? If so, please post!

UPDATE: I figured it out. In the MGTwitterEngine.m, search for _clearCookies in initWithDelegate method. This is currently set to NO, change it to YES. In your action method for logging out the current user, call [_engine clearAccessToken]. Now run it, and voila, it works!

I dont know how to logout. But if you want the login screen every time, do one thing (i dont know this is the right way), delete the login specific data which the engine saves in Userdefaults.

I don't see it explicitly stated here, but I used the "clearAccessToken" function in the SA_OAuthTwitterEngine to "log out" the current user.

Might be kinds of stupid, but this seems to work

- (IBAction)logout:(id)sender {
    [_engine dealloc];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults removeObjectForKey:@"authData"];
    [defaults synchronize];

    [self presentLoginView];
    }

I use this tutorial for integreate twitter to iOS app link

For logout I use next:

[_engine clearAccessToken];

_engine - this is instance of SA_OAuthTwitterEngine class.

You can call this method on your IBAction method.

Also need this method

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults removeObjectForKey:@"authData"];
    [defaults synchronize];

You must delete your account in Twitter application which is in the Settings menu of your iPhone.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top