2016-12-27 1 views
3

Je travaille avec un Rails application, et je me sers amazon cognito pour single sign on, j'ai créé un fournisseur d'identité qui est lié à mon pool d'utilisateurs, maintenant je suis en essayant d'obtenir identity_id de mon identité Cognito utilisant le code comme indiqué dans docAws :: CognitoIdentity de erreurs :: NotAuthorizedException Exception: connexion non valide jeton

cognitoidentity = Aws::CognitoIdentity::Client.new(region: 'us-east-1',) 

cognitoidentity.get_id({identity_pool_id: "us-east-1:XXXXXXXXXXXXXXXXX", logins: { "www.amazon.com" => <Access token got from #admin_initiate_auth method>}}) 

Je reçois cette erreur:

Aws::CognitoIdentity::Errors::NotAuthorizedException Exception: Invalid login token

Je ne sais pas ce que je fais mal.

S'il vous plaît aider

Répondre

1

Si vous utilisez des pools d'utilisateurs, l'identifiant idp dans votre carte de Logins ne devrait pas être « www.amazon.com ». La carte logins devrait ressembler à ceci:

Logins: {
'cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>': <IdToken>
}

Cette page ne fournit pas un exemple Ruby, mais vous devez vous référer pour obtenir l'idée: http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html