Как вызвать конечную точку API, использующую неявную авторизацию Cognito с помощью aws java SDK - PullRequest
0 голосов
/ 02 июля 2019

В настоящее время пытаются создать некоторые приемочные тесты, которые должны вызывать конечные точки API, которые были аутентифицированы с неявным предоставлением Cognito.

Существует ли возможный способ использования aws sdk и Cognito sdk для запроса ключа доступаназвать мои конечные точки API?Я нахожу очень мало помощи в документации по aws и в Интернете в целом.

Мой приемочный тест на java с огурцом и огурцом.

1 Ответ

0 голосов
/ 04 июля 2019

Вы можете пройти аутентификацию через Cognito API initiateAuth, чтобы напрямую получить токены.

https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html

Для способа аутентификации по умолчанию требуется SRP.

Если вы хотите, вы можете избежать реализации издержек SRP, создав отдельный клиент приложения для тестирования и отметив Enable username-password (non-SRP) flow for app-based authentication (USER_PASSWORD_AUTH) в настройках App Clients для этого клиента приложения.

Возможно, вы хотите иметь некоторую конфигурацию развертывания, чтобы этот клиент приложения был доступен только в средах тестирования. В противном случае вы можете создать секрет для клиента приложения.

Кроме потока USER_PASSWORD_AUTH, есть ADMIN_NO_SRP_AUTH через adminInitiateAuth, для которого требуются ключи AWS (должен быть включен также в настройках «App Client»).

Подробнее об этих потоках можно узнать здесь: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html?icmpid=docs_cognito_console#amazon-cognito-user-pools-admin-authentication-flow

...