Ограничение одновременных авторизаций для комбинации пользователь / потребитель в OAuth 2.0 - PullRequest
0 голосов
/ 13 ноября 2010

Я создаю сервис, который будет выступать в качестве поставщика OAuth 2.0. Я хочу иметь возможность ограничить количество одновременных авторизаций, которые пользователь имеет для конкретного потребителя.

Например, каждый пользователь потребительского приложения должен иметь, скажем, только три одновременные авторизации для этого потребителя и, следовательно, иметь возможность использовать только три клиента одновременно. Когда он пытается авторизоваться в четвертый раз, он должен предложить пользователю удалить авторизацию для существующего клиента, прежде чем он сможет продолжить.

В моем ограниченном опыте использования OAuth токен для потребительского приложения всегда одинаков для комбинации пользователя и потребителя, и поэтому нет способа аннулировать доступ к определенным клиентам - только потребителям.

Есть ли в OAuth 2.0 какое-либо положение, позволяющее сделать идентификатор клиента частью этой комбинации и, следовательно, частью токена? Я особенно заинтересован в OAuth 2.0 из-за потока User-Agent.

Или я полностью лаю не на том дереве, и стоит ли мне смотреть, как я кладу другую систему поверх OAuth?

1 Ответ

1 голос
/ 15 ноября 2010

Похоже, вы могли бы сгенерировать специфичные для авторизации токены доступа и включить метаданные, о которых каждый клиент / экземпляр авторизации ссылается либо на сам токен (закодированная форма -1 и т. Д.), Либо в вашем приложении (где каждый доступтокен уникален).Фактически, это, вероятно, можно считать улучшением по сравнению с большинством реализаций провайдера, поскольку отдельные клиенты могут быть легче распознаны (для злоупотреблений и т. Д.).

Токены не должны принимать какой-либо конкретный формат, поэтому вы 'вы можете перегружать их семантической информацией настолько, насколько вам нужно, и адаптировать свой пользовательский интерфейс и пользовательский интерфейс в соответствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...