Для входа в AWS cognito в iOS для AuthFlow установлено значение USER_PASSWORD_AUTH. - PullRequest
0 голосов
/ 21 мая 2018

Я использую AWS Cognito для выполнения аутентификации при входе .После успешного входа в систему мы получаем тело запроса ниже:

Тело запроса:

> {"UserContextData":{"EncodedData":"eyJ..9”},”ClientMetadata":{"cognito:deviceName":"MacBookPro12-01","cognito:bundleShortV":"1.0.0",
> "cognito:idForVendor":"A6FD46FBB205","cognito:bundleVersion":"207",
>     "cognito:bundleId":"com.abc.Project-Dev","cognito:model":"iPhone", "cognito:systemName":"iOS","cognito:iOSVersion":"11.3"},
>     "AuthParameters":{"SRP_A":"a6..627","SECRET_HASH":"vr..Oo=", "USERNAME":"jay.dubey@abc.com”},**”AuthFlow":"USER_SRP_AUTH"**,
> "ClientId”:”123”}

Теперь есть сценарий, в котором я должен установить «AuthFlow »в значение« USER_PASSWORD_AUTH ». Как это можно сделать?

Головная боль при этом заключается в том, что все эти значения установлены в модулях. Ниже кода печатается тело запроса, котороедобавлено выше:

passwordAuthenticationCompletion?.set(result: AWSCognitoIdentityPasswordAuthenticationDetails(username: username, password: password))

1 Ответ

0 голосов
/ 26 июня 2018

Если вы загляните в AWSCognitoIdentityUser в методах getSessionWithUserName иPassword, вы увидите, что существует троичный оператор, переключающий аутентификацию миграции, который управляется логическим значениемigrationEnabled.Чтобы переключить тип аутентификации, просто настройте пул удостоверений следующим образом:

  let userPoolConfiguration = AWSCognitoIdentityUserPoolConfiguration (
        clientId: clientId,
        clientSecret: nil,
        poolId: userPoolId,
        shouldProvideCognitoValidationData: false,
        pinpointAppId: nil,
        migrationEnabled: true
    )
...