Some OAuth providers (like Google or Facebook) only grant limited privileges to the third party apps, and they state so clearly on the authorization page. For example, they say that an app can see who you are and your friend list, but not post on the wall. And so on.
Not all providers do it, though. With some of them, once a user authorizes the app and the provider issues the token, apparently you can do anything. The consumer can just keep the token and do whatever it likes as that user - for years (as is the case with JIRA) unless explicitly revoked by the user.
Is this correct? How do you deal with this craziness, if an API allows 3rd party apps to fully impersonate you without boundaries?
Relevant piece of docs from Atlassian (for the JIRA example): https://confluence.atlassian.com/display/APPLINKS/Configuring+authentication+for+an+application+link
request determines the level of access to use based on the access permissions of that pre-configured userthis to me says that data / services are accessible based on the auth settings of the user. – Phorce Oct 30 '15 at 10:09At the very least, it means you have to be extremely cautious with such apps. Understand that as soon as you authorize them, they can do everything, and for a long time (unless you go through the hassle and manually revoke the token).
It means you have to absolutely trust the application's creator (or review its code prior to install) and its environment (e.g. server access). App creators have to understand this as well, before they consider just saving tokens to disk.
– Konrad Garus Oct 30 '15 at 10:26