AWS Java SDK для аутентификации потока учетных данных клиента Oauth с помощью пула пользователей Cognito?

#java #amazon-web-services #aws-sdk #amazon-cognito

#java #amazon-веб-сервисы #aws-sdk #amazon-cognito

Вопрос:

Ситуация:

У меня запущена служба фонового процесса java, которой необходимо получить доступ к защищенной конечной точке REST API.

Конечная точка API — это функция AWS lambda, работающая за шлюзом API Amazon, использующая бессерверную платформу. Он защищен с помощью средства авторизации пула пользователей Amazon Cognito.

Я создал клиент приложения для моей фоновой службы Java, которая подключена к пулу пользователей.

Я успешно извлек токен аутентификации клиента и получил доступ к конечной точке API, используя как cURL, так и HttpClient.

Вопрос:

Доступна ли эта функциональность в AWS Java SDK (v1 или v2)?

Я просматривал документацию SDK и пока ничего не нашел. Есть ли что-то, что я пропустил или еще не нашел? Или это просто недоступно в настоящее время?

Комментарии:

1. Пожалуйста, прокомментируйте голосование против? Я уверен, что справедливо, что, возможно, потребуется перенести это на другой форум, но я законно ищу ответ, и он чувствителен ко времени, пожалуйста, помогите мне повысить мои шансы на полезный ответ.

2. docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/… Вы это имеете в виду?

Ответ №1:

В AWS Java SDK (любой версии) для Cognito нет необработанного вызова API для потока аутентификации учетных данных клиента. Однако вы можете вручную написать свою собственную логику для реализации этого потока, поскольку последовательность шагов, связанных с учетными данными клиента (межмашинный поток), может быть выполнена с помощью ванильной Java. Для этого потока требуется POST-запрос, направленный на конечную точку токена OAuth 2.0 Cognito [a]. Поскольку для этого потока по существу требуется запрос конечной точки, я не думаю, что разработчики Cognito разработали бы доступный API для достижения потока.

Для получения более подробной информации я бы попросил вас ознакомиться с этой официальной документацией [b] и этим учебным пособием, не опубликованным AWS [c].

Ссылки

[a]. https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html

[b]. https://aws.amazon.com/blogs/mobile/understanding-amazon-cognito-user-pool-oauth-2-0-grants /

[c]. https://lobster1234.github.io/2018/05/31/server-to-server-auth-with-amazon-cognito /

Комментарии:

1. Спасибо @lightyagami. Я надеялся, что есть какая-то документация, которую я пропустил, но это подтверждает мои собственные выводы, и я чувствую уверенность в своем направлении продвижения вперед.

2. Нет проблем, рад, что я смог вам помочь.

Ответ №2:

Я предлагаю вам использовать google-oauth-java-client, вы можете посмотреть, например, в моем блоге, который я опубликовал. http://shaikezam.com/#/machine_to_machine_cognito_auth