2016-11-13 3 views
0

В Документах АМС Cognito, http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#initiateAuth-propertyCognito USER_SRP_AUTHENTICATION

Один из поддерживаемых потоков аутентификации является USER_SRP_AUTH. Когда я вызываю initiateAuth(), я получаю

InvalidParameterException: Отсутствует требуемый параметр Ошибка SRP_A.

В документе не говорится о том, как получить/сгенерировать этот SRP_A, который требует метод. Где я могу найти, как использовать этот поток auth?

Заранее благодарен!

ответ

0

У меня была аналогичная проблема с методом «AdminInitiateAuth». Я смог получить свою работу, включив ADMIN_NO_SRP_AUTH в UserPool. Перейдите в UserPool> APPS> Показать детали и установите флажок «Включить API входа для проверки подлинности на сервере (ADMIN_NO_SRP_AUTH)». Как только это будет сделано, я могу использовать AuthFlowType.ADMIN_NO_SRP_AUTH.

// example from a java implementation... 
AdminInitiateAuthRequest request = new AdminInitiateAuthRequest(); 
request.withClientId(CLIENT_APP_ID); // clinet id assigned in the userpool 
request.withUserPoolId(USER_POOL_ID); // the id of the user pool 
request.addAuthParametersEntry("USERNAME", userId); 
request.addAuthParametersEntry("PASSWORD", pwd); 
request.withAuthFlow(AuthFlowType.ADMIN_NO_SRP_AUTH); 
// HAVE TO ENABLE THIS WORKFLOW ON THE USER POOL! 
// You may be able to just set the workflow to AuthFlowType.USER_SRP_AUTH if you don't use the AdminInitiateRequest 

// initiate the auth request 
AdminInitiateAuthResult result = identityUserPoolProviderClient.adminInitiateAuth(request); 
Смежные вопросы