Динамическая регистрация клиента OAuth2 на AWS

#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