I managed to get it working:
I try loading an image with the url of the instagram logout page before opening the authorize popup.
Something like this (coffeescript):
windowOpen = ->
window.open("/instagram/authorize?...")
if forceLogin
tryLogout().always ->
windowOpen()
And the tryLogout function (setTimeout 10seconds as a fallback)
tryLogout: ->
deferred = $.Deferred()
logOutImg = new Image()
logOutImg.onerror = ->
deferred.resolve()
logOutImg.onload = ->
deferred.resolve()
logOutImg.src = 'https://instagram.com/accounts/logout/'
setTimeout(->
deferred.reject()
, 10000)
return deferred.promise()