Assume we have an OAuth2 implementation that supports "read" and "write" scope.
I retrieve an access token "f482c829" with "read" scope. If I then change my mind and now want read+write permission and authorize again with "read" and "write" scope do you:
- Update scopes for existing access token and return same token "f482c829"?
- If using same token, require that the access token is reclaimed if using response_type=code before updating scopes? (I think yes)
- Update scopes for existing access token and return a refreshed token "zf382nL"?
- Create an entirely new token leaving "f482c829" and its scopes intact?
If you create a new token every time per scope, you end up having to store multiple access tokens per authorization and different permissions everywhere. I've been hesitant to implement it that way.
The OAuth2 spec (as of draft-12) unfortunately does not address any of this.