Поддерживает ли passport.js "Поток учетных данных клиента"?

Я создаю web-приложение node.js для доступа к API gettyimages, используя "Поток учетных данных клиента"

Passport.js поддерживает это? если да, как я могу это реализовать?

1 ответ

Решение

Паспорт обычно используется для аутентификации пользователей на вашем веб-сайте. Если ваше (веб) приложение вызывает внешний API (например, gettyimages), и оно аутентифицирует себя в такой внешней системе, то вам, вероятно, это не нужно (и вам также не понадобится никакой фреймворк). Поток учетных данных клиента является простым POST:

https://github.com/gettyimages/connect/tree/master/documentation/endpoints/oauth2

Предыдущему ответу @eugenio-pace исполнилось 6 лет, и с тех пор многое изменилось.

Что касается доступа к GettyImages API с учетными данными клиента, вы можете:

  1. Тем не менее, сделайте прямой вызов API. Этот пример (хотя и на Python) показывает, как это сделать.
  2. Используйте клиентский SDK GettyImages для вашего языка. Их несколько, но здесь, в https://github.com/gettyimages/gettyimages-api_nodejs, объясняются учетные данные клиента для NodeJS.

Используя вариант 2 выше, вы можете продолжить работу с клиентом API. Если учетные данные клиента были получены с помощью вызова REST, вы можете использовать PassportJS с паспортом-oauth2 для построения своей логики доступа.

В настоящее время PassportJS поставляется со многими стратегиями, и сначала стоит проверить, не подходят ли вам другие альтернативы.


Интересно то, что если вы хотите создать полноценное решение для провайдера OAuth2, PassportJS также может вам помочь. Учетные данные клиента в этом случае предоставляются с помощью стратегии паспорт-oauth2-client-password (на основе oauth2orize) и демонстрируются в этом примере.

Другой популярный пакет для реализации сервера OAuth помимо oauth2orize - это oauth2-server.

Другие вопросы по тегам