iOS — Как структурирован файл конфигурации AWS, если мой когнито использует SAML в качестве поставщика удостоверений?
Я создаю приложение для iOS, которое проходит аутентификацию через AWS Cognito с помощью Amplify iOS SDK.
Я прошел этот учебник (https://docs.amplify.aws/lib/auth/signin/q/platform/ios/), и он отлично работает, если пользователи регистрируются и входят напрямую через Cognito. Когда пользователи регистрируются, имя пользователя и пароль сохраняются в пуле пользователей в Cognito, и позже они могут войти в систему с этими учетными данными.
Проблема в том, что моя компания использует стороннего поставщика удостоверений — Oracle Access Manager (OAM) с SAML. Пользователи регистрируются через OAM. В настоящее время мое приложение не знает, как общаться с OAM. Поток должен состоять из того, что пользователи вводят имя пользователя и пароль -> Cognito отправляет их в OAM для аутентификации -> OAM отвечает Cognito -> Cognito предоставляет токен доступа к приложению. В настоящее время я могу входить в систему пользователей, зарегистрированных через пул пользователей Cognito, но для пользователей с OAM результаты являются неправильными именем пользователя/паролем, что означает, что Cognito использует свой собственный пул пользователей для проверки пользователей вместо OAM. Я хочу, чтобы Cognito знал, как общаться с OAM и получать результаты аутентификации. Это что-то можно сделать в файле amplifyconfiguration.json? Я думаю, что в конфигурационном файле может отсутствовать какая-то информация об авторизации.
Вот файл конфигурации, прямо сейчас в атрибуте «auth» практически ничего нет, я думаю, что может быть что-то написано, чтобы указать, какой поставщик удостоверений должен искать Cognito.
{
"UserAgent": "aws-amplify-cli/2.0",
"Version": "1.0",
"auth": {
"plugins": {
"awsCognitoAuthPlugin": {
"UserAgent": "aws-amplify/cli",
"Version": "0.1.0",
"IdentityManager": {
"Default": {}
},
"CognitoUserPool": {
"Default": {
"PoolId": "[POOL-ID]",
"AppClientId": "[APP-ID]",
"AppClientSecret": "[APP-SECRET]",
"Region": "us-east-2"
}
},
"Auth": {
"Default": {
"authenticationFlowType": "USER_SRP_AUTH"
}
}
}
}
}
}