I was trying to find the exact scenario. Seems like very simple to replicate:
- /authorize
- Log out of twitter
- /authenticate (now what happens is twitter displays signin screen with changed permissions)
- When user signs in to twitter, the access level goes back to RW
This happens only if the user trying to sign in is logged out of twitter and is presented with the signin screen on /authenticate . If the user is already logged in to twitter then this does not happen.
The default authorization of our app is RWD , and it works well, we’re able to retrieve DMs. Only when the above scenario occurs does the DM access disappear for a users token.
We do not send any extra params to oauth/request_token apart from our callback URL.