oauth неявное предоставление против предоставления кода авторизации? - PullRequest
0 голосов
/ 12 июня 2018

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

  1. Используется ли поток неявного предоставления, главным образом, интерфейсными приложениями для аутентификации пользователя?
  2. Требуется ли для потока неявного предоставления только client_id, имя пользователя и пароль для аутентификации, другими словами, client_secret никогда не отправляется?
  3. Является ли код авторизации только короткоживущим токеном?
  4. После того, как код авторизации был обменен на токен доступа, как долго клиент сможет получить доступ к учетной записи пользователя?В частности, если клиент является долго выполняющимся сценарием, должен ли пользователь проходить проверку подлинности при каждом запуске сценария?Или мы можем предположить, что после того, как пользователь авторизовался один раз, у клиента есть разрешение на доступ к пользователю, когда ему это необходимо (если пользователь не отменяет доступ), и поэтому ему просто нужно пройти аутентификацию с использованием учетных данных клиента?
  5. В чем преимущество использования кода авторизации над неявным потоком?
  6. Нужен ли сам сервер ресурсов самому идентификатору клиента?

Спасибо

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Хотя jwilleke отвечает на большинство ваших вопросов, я отвечу на ваши конкретные вопросы,

  1. Неявный поток предназначен для клиентов, у которых нет возможности выполнить запрос токена.Из спецификации OAuth 2.0 - секция 4.2

Неявный тип предоставления используется для получения маркеров доступа (он не поддерживает выдачу маркеров обновления) и оптимизирован дляобщедоступные клиенты, о которых известно, что они используют определенный URI перенаправленияЭти клиенты обычно реализуются в браузере с использованием языка сценариев, например JavaScript.

Используется публичными клиентами.У них нет секрета клиента.Это связано с тем, что они не могут защитить такой секрет, поскольку они запускаются в браузере.

Срок действия кода авторизации может составлять от нескольких секунд (30 секунд) до нескольких минут (2 минуты).По сравнению с другими токенами они недолговечны.

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

Одним из преимуществ является токен обновления.Его можно использовать для обновления токена доступа без взаимодействия с конечным пользователем (новый логин).Также в зависимости от реализации OAuth-сервера вы можете получить токены доступа с различным временем жизни.Например, сервер авторизации может выдавать краткосрочные токены доступа для неявного потока из-за того, что он используется общедоступным клиентом.

Это зависит.Если серверу ресурсов необходимо использовать защищенный ресурс от другого сервера ресурсов, который авторизуется с использованием токенов доступа, то вашему серверу ресурсов также потребуется идентификатор клиента и выполнение определенного потока для получения токенов.Но если он не общается снаружи, вам не нужно получать идентификатор клиента для него.

0 голосов
/ 12 июня 2018

OAuth 2.0 Authorization Framework (RFC 6749) подразумевает, что:

Implicit Flow подходит только для клиентских приложений OAuth, которые основаны на браузере или JavaScript NOT MobileУстройства или другие приложения, которые могут использовать код авторизации

Неявный тип предоставления используется для получения токенов доступа (он не поддерживает выдачу маркеров обновления) и оптимизирован для общедоступных клиентов, для которых известно, что они работают с определенным перенаправлением.URI.

См. Разделы 1.3.2 и 9 для справки об использовании неявного предоставления.Важные соображения безопасности при использовании неявного предоставления см. В разделах 10.3 и 10.16.

При использовании типа неявного предоставления токен доступа передается во фрагменте URI, который может предоставить его неавторизованным сторонам.

-Джим

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