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"
                }

            }
        }
    }
}

}

0 ответов

Другие вопросы по тегам