Store request token when client.authenticate is called with interactive false.
Next call with interactive true will use existing request token and window.open would not be blocked.