#amazon-web-services #oauth-2.0
Вопрос:
Я надеялся увидеть несколько примеров того, как реализовать динамическую регистрацию клиента, которая генерирует учетные данные клиента для потока OAuth2 на AWS.
Есть какие-нибудь рекомендации?
Ответ №1:
DCR обычно работает таким образом, но может довольно сильно отличаться в зависимости от сценария клиента. Надеюсь, это придаст вам общий аромат вещей:
ШАГ 1: ПОЛУЧИТЕ ТОКЕН ДОСТУПА DCR ДЛЯ ИСПОЛЬЗОВАНИЯ ПРИ РЕГИСТРАЦИИ
Обычно это включает в себя начальный поток OAuth с dcr
областью действия, чтобы получить токен доступа DCR, необходимый для регистрации:
curl -X POST https://login.example.com/oauth/v2/token
-H: "Content-Type: application/x-www-form-urlencoded"
-H: "Authorization: some-credential"
-d client_id=initial_client
-d scope=dcr
ШАГ 2: ЗАРЕГИСТРИРУЙТЕСЬ И ПОЛУЧИТЕ УНИКАЛЬНОГО КЛИЕНТА
Это включает ПУБЛИКАЦИЮ с запросом и ответом JSON, упрощенными ниже:
curl -X POST https://login.example.com/oauth/v2/registration
-H: "Authorization: dcr-access-token"
-H: "Content-Type: application/json"
-d grant_types=[client_credentials]
-d scope='openid profile transactions'
В этом случае ответ обычно содержит довольно большую полезную нагрузку, но, в частности, возвращаются уникальный идентификатор клиента и секрет:
client_id: cj348034t534tu90
client_secret: h7890g723470fghfgh42rt
other-fields: ...
ШАГ 3: ИСПОЛЬЗУЙТЕ УНИКАЛЬНЫЙ КЛИЕНТ
С этого момента клиент просто использует идентификатор клиента и секрет для получения токенов уровня приложения:
curl -X POST https://login.example.com/oauth/v2/token
-u "cj348034t534tu90:h7890g723470fghfgh42rt"
-H: "Content-Type: application/x-www-form-urlencoded"
-d scope='openid profile transactions'
ДИНАМИЧНЫЙ БИЗНЕС
DCR-довольно мощная концепция, и один из сценариев, демонстрирующих ее, — это открытая банковская система, в которой одобренные продавцы могут автоматически подключаться и начинать вызывать банковские API. В этом случае первоначальный маркер доступа к DCR извлекается на основе взаимного доверия TLS и других нормативных проверок.
ПОСТАВЩИКИ
Функции DCR предоставляются более продвинутыми поставщиками OAuth, и я сомневаюсь, что они поддерживаются Amazon. Однако у Curity есть много ресурсов для шаблонов проектирования, поэтому, если вам нужна дополнительная информация, просмотрите эти ресурсы:
Комментарии:
1. Спасибо. Специально искал возможность реализации этого на AWS