Использование AWS Mobile Hub для получения работающего входа

У меня сложилось впечатление, что AWS Mobile Hub создал для вас некоторые вещи в образце приложения.

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

введите здесь описание изображения

У меня включен вход:

введите здесь описание изображения

В этом пуле удостоверений я выбрал роли unauth и auth. Затем в Mobile Hub загрузил код, но по-прежнему не может войти в систему. Что мне не хватает?


person cdub    schedule 11.02.2016    source источник
comment
Примеры представлены по ссылке: github.com/awslabs/aws-sdk-ios-samples может ответить на ваши вопросы   -  person Abdul Naveed    schedule 18.10.2016


Ответы (1)


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

  1. Конечный пользователь предоставит учетные данные (имя пользователя и пароль) в вашем приложении iOS.
  2. Приложение вызовет ваш сервер для проверки учетных данных.
  3. Серверная часть вызовет GetOpenIdTokenForDeveloperIdentity API Amazon Cognito для этого конечного пользователя. (используя имя пользователя)
  4. Cognito вернет идентификатор identityId, связанный с этим именем пользователя, и токен OpenId Connect на ваш сервер, и он будет передан обратно в приложение Android.
  5. Cognito SDK будет использовать этот токен для вызова Amazon STS для получения учетных данных AWS для конечного пользователя.

Я настоятельно рекомендую вам следить за нашей сообщение в блоге и разработчик руководство, оно подробно объясняет этот процесс. Как всегда, если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать.

Спасибо.

person Rachit Dhall    schedule 11.02.2016
comment
Верно, но я хочу использовать Lamba в качестве своего бэкэнда, поскольку я перехожу на AWS, так как Parse отключился/упадет. Меня смущает приложение iOS на моем устройстве для перехода от Lamba к Cognito и обратно. И да, читаю все блоги и прочее (в AWS происходит много замечательных вещей, а я занимаюсь этим всего неделю) - person cdub; 12.02.2016
comment
Я должен сказать, что мои цели/последовательность таковы: 1. У пользователя есть приложение на телефоне, он идет регистрироваться и вводит имя пользователя и пароль. 2. Идет к Lamba, чтобы проверить, занято ли уже имя пользователя, если нет, регистрируется с помощью Cognito. Если это возвращает ошибку. 3. После регистрации пользователь теперь аутентифицирован, и приложение использует aws API и напрямую вызывает DynamoDB и S3. Это правильный подход? - person cdub; 12.02.2016
comment
Cognito не будет регистрировать пользователей, вы будете регистрировать пользователей в своей функции Lambda для некоторой базы данных, а затем вы получите учетные данные для доступа к S3/DynamoDB от Cognito для этого пользователя. - person Rachit Dhall; 12.02.2016
comment
Я задам еще один вопрос и сошлюсь на него здесь. - person cdub; 12.02.2016
comment
Я надеюсь, что это безопасный/нормальный поток: stackoverflow.com/q/35356570/665557 - person cdub; 12.02.2016
comment
Я ответил на ваш другой пост. - person Rachit Dhall; 17.02.2016
comment
Да, у меня все идет в правильном направлении с Lanbda. Так что все хорошо. - person cdub; 18.02.2016