Switch user or re authenticate with Instagram

2020-04-04 03:46发布

问题:

Following the Instagram documentation I'm able to authenticate a user and retrieve an access_token easily

But now I want to change of Instagram account which is impossible since the browser automatically call my callback URL because I'm already signed in with an account (there is no login / authorization form again)

To explain what happen here is the authenticate / authorization flow :

  1. Open a browser asking user to log and authorize
  2. User fill up form and submit (this step is skipped when user is already signed in !)
  3. Browser redirect to callback URL

You see step 2 is skipped so we can't login with another user

Does the Instagram have a parameter to force relogin ?

回答1:

Justin Powell answer is working for log out but I need to be also able to log in just after and it's quite anoying for Android

But it points me in the right direction : Instagram (like other website) maintains our login with session variable (so with cookies)

So to avoid to be always loged in, we just have to find and remove the correct cookie, here is how to do it with Android :

    String cookieString = "sessionid=''";
    CookieManager.getInstance().setCookie("instagram.com", cookieString);

With this I set the Instagram sessionid cookie to en empty string so Instagram doesn't recognize me anymore



回答2:

You could call the Instagram logout url (https://instagram.com/accounts/logout/) in the background before asking for access again. See this question and answers.

I believe the only other option is to leave it up to the user to logout of their Instagram account before loading your access url.



回答3:

solved the same issue by deleting Access-Token from the app and loading url https://instagram.com/accounts/logout in webview without attaching it to any rootview.