Предположим, что у нас есть реализация OAuth2, которая поддерживает область "читать" и "писать".
Я извлекаю токен доступа "f482c829" с областью "читать" . Если я тогда передумаю и теперь хочу читать + писать разрешение и снова разрешить с помощью области "читать" и "писать", вы:
- Обновить области видимости для существующего токена доступа и вернуть тот же токен "f482c829" ?
- Если используется тот же токен, требуется, чтобы токен доступа был исправлен, если используется код response_type = перед обновлением областей? (Думаю, да)
- Обновить области для существующего токена доступа и вернуть обновленный токен "zf382nL"?
- Создайте совершенно новый токен, оставив "f482c829" и его области нетронутыми?
Если вы создаете новый токен каждый раз для каждой области видимости, вам приходится хранить многократные токены доступа на каждую авторизацию и разные разрешения во всем мире. Я не решался реализовать его таким образом.
Спецификация OAuth2 (по сравнению с проектом-12), к сожалению, не затрагивает ничего из этого.