Поддерживает ли 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 с учетными данными клиента, вы можете:
- Тем не менее, сделайте прямой вызов API. Этот пример (хотя и на Python) показывает, как это сделать.
- Используйте клиентский 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.