Лучшие практики обработки токенов доступа и области для реализации OAuth2?

Предположим, у нас есть реализация OAuth2, которая поддерживает области «чтение» и «запись».

Я получаю токен доступа «f482c829» с помощью «чтение» " сфера. Если я затем передумаю и теперь захочу разрешение на чтение + запись и снова авторизуюсь с областями «чтение» и «запись», вы:

  • Обновить области действия для существующего токена доступа и вернуть тот же токен «f482c829»?
  • Если используется тот же токен, требовать, чтобы токен доступа был возвращен, если используется response_type = code перед обновлением областей? (Думаю, да)
  • Обновить области для существующего токена доступа и вернуть обновленный токен «zf382nL»?
  • Создать совершенно новый токен, оставив «f482c829» и его области нетронутыми?

Если вы создаете новый токен каждые раз в каждую область, вам придется хранить несколько токенов доступа для каждой авторизации и разных разрешений повсюду. Я не решался реализовать это таким образом.

К сожалению, спецификация OAuth2 (по состоянию на черновик-12) не решает ничего из этого.

12
задан dschn 16 February 2011 в 21:42
поделиться