0

Я использую aws-ios-sdk с объективом-c и настроил Amazon cognito для использования неавторизованного доступа и аутентифицированного доступа. Аутентифицированный доступ использует пользовательский идентификатор разработчика.Способ переключения ролей амазонки cognito

Имя поставщика в пользовательской идентичности:

com.test.developerProvider 

В GetOpenIdForDeveloperCredentials я установил:

com.test.developerProvider = uniqueUser; 

identityPool имеет разрешения роли для аутентификации и НЕСАНКЦ так:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "", 
     "Effect": "Allow", 
     "Principal": { 
     "Federated": "cognito-identity.amazonaws.com" 
     }, 
     "Action": "sts:AssumeRoleWithWebIdentity", 
     "Condition": { 
     "StringEquals": { 
      "cognito-identity.amazonaws.com:aud": "identityInfo" 
     }, 
     "ForAnyValue:StringLike": { 
      "cognito-identity.amazonaws.com:amr": "authenticated or unauthenticated" 
     } 
     } 
    } 
    ] 
} 

Как переключить роль с Unauth на Auth? Меня не волнует, если он находится в Лямбде или каким-то другим способом, используя ios.

Нужна помощь. Благодарю.

ответ

0

Я не уверен, что понял вопрос. Роль меняется с unauth на auth, когда у вас есть маркер входа, включенный в запрос для получения учетных данных. Вы говорите, что этого не происходит? Вы можете подтвердить это, посмотрев идентификатор в браузере идентификации консоли для своего пула идентификаторов, если у него нет подключенных токенов, то это означает, что токен не отправляется в Cognito.

+0

Да, он работает наконец. Карта была настроена неправильно, так как я использовал идентификаторы разработчиков. Мне все еще нужно выяснить, как вести учет пользователя в течение нескольких недель, как это делают другие приложения. – cdub