Какой тип разрешения авторизации мне следует использовать? - PullRequest
0 голосов
/ 18 октября 2018

В моем приложении много учетных записей компаний.Я использую django-oauth-toolkit и собираюсь добавить доступ к своему API по запросу от конкретной компании.

У меня есть несколько конечных точек, таких как:

GET /api/users/ - вернуть всех пользователей компании

GET /api/documents/ - вернуть все документы, принадлежащие пользователям данной компании

Интересно, какой тип предоставления разрешения мне следует использовать:

Тип клиента: Confidential

Параметры типа разрешения авторизации:

  • учетные данные клиента
  • код авторизации
  • пароль владельца ресурса
  • неявный

Может кто-нибудь сказать мне, какой тип является лучшим в моем случае и почему?

1 Ответ

0 голосов
/ 18 октября 2018

Вы должны использовать resource owner password-based grant:

Тип предоставления учетных данных пароля владельца ресурса подходит в тех случаях, когда владелец ресурса имеет доверительные отношения с клиентом, например, в операционной системе устройства или с высоким уровнем привилегий.application.

Flow :

Клиент запросит у пользователя учетные данные для авторизации (обычно это имя пользователя и пароль).

Затем клиент отправляетPOST-запрос со следующими параметрами тела к серверу авторизации:

  • grant_type со значением пароля
  • client_id с идентификатором клиента
  • client_secret с секретом клиента
  • scope с разделенным пробелами списком запрошенных разрешений области действия.
  • username с именем пользователя
  • password с пользователемпароль

Сервер авторизации ответит объектом JSON, содержащим следующие свойства:

  • token_type со значением Bearer
  • expires_in сцелое число, представляющее TTL токена доступа
  • access_token JWT, подписанный закрытым ключом сервера авторизации
  • refresh_token зашифрованная полезная нагрузка, которая может использоваться для обновления токена доступа при егоистекает.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...