2016-11-11 12 views
1

Наше мобильное приложение использует неавторизованный поток cognito для авторизации устройств. Мы используем аутентификацию Oauth для нашего бэкэнд, которая ожидает маркер-носитель. чтобы получить этот токен-носитель, вместо сохранения clientid/secret на клиенте мы планируем вызывать api-шлюз для этого пула пользователей cognito, а затем прокси-сервер в oauth-провайдер услуг, который будет возвращать токен-носитель. Клиент будет использовать этот токен-носитель для создания дополнительных обратных вызовов.API-шлюз и аутентификация Oauth для неаутентифицированного cognito

Мы протестировали прокси-сервер http, и он отлично работает с консолью api gateway. Проблема, с которой мы сталкиваемся, связана с авторизатором. Наш механизм авторизации представляет собой пул пользователей cognito. Чтобы проверить авторизатор, консоль запрашивает токен идентификации. Мы не знаем, что такое токен. Попробовал протестировать cognitoId, openToken, полученный aws iOS sdk для не прошедшего проверку пользователя пользователя cognito, ни один из них не работает. Сообщение из журналов - «Несанкционированный запрос:»

Может кто-нибудь предложить решение?

ответ

0

Звучит так, как будто вы были маркерами, созданными из федеративных тождеств. Вы настроили user pools в своем приложении? Когда вы входите в систему с пользователем, вы получаете 3 жетона - маркер идентификатора, токен доступа и токен обновления. Этот токен идентичен тому, что вам нужно. Это обязательно означает, что unauthenticated будет немного сложнее, так как вам нужно войти, чтобы получить это.

+0

Thanks Jeff. Что вы имеете в виду, когда вы произносите вход? Поскольку он не аутентифицирован, мы делаем это примерно так: let credentialsProvider = AWSCognitoCredentialsProvider (regionType: , identityPoolId: identityPoolId). Учетные данныеProvider будет иметь идентификатор на нем, который является ничем иным, как cognitoId. Он также имеет объект учетных данных с ключом/секретом и токеном сеанса. Кроме того, пользовательские пулы настроены для нашего приложения – PGA

+0

В принципе, вы не можете использовать пулы пользователей в качестве механизма авторизации без входа. Неавторизованный доступ и пулы пользователей являются двумя взаимоисключающими. Вы должны войти в пулы пользователей, чтобы использовать пулы пользователей. –

+0

Имеет смысл, нужно изучить, как это сделать, поскольку оно не проверено на данный момент – PGA