2017-09-26 4 views
0

J'ai vraiment du mal à faire en sorte que l'inscription et la confirmation de l'utilisateur fonctionnent dans mon application mobile Xamarin. J'ai demandé à la demande d'inscription de fonctionner et l'utilisateur apparaît avec succès dans le pool d'utilisateurs comme non confirmé. Cependant, quand j'essaie de suivre this general guide (Guide est pour Android spécifiquement pendant que j'utilise Xamarin, et par extension, C#), je reçois une exception NotAuthorizedException lors de l'appel de la méthode ConfirmSignUpAsync. Je suis nouveau sur Amazon Web Services en général, et je pense que je peux avoir un paramètre ou un rôle mal configuré qui m'empêche de confirmer les utilisateurs. Plus précisément, je pense avoir besoin d'aide avec la partie Paramètres du client de l'application du pool d'utilisateurs. Je ne pensais pas que cela causerait un problème car j'avais l'impression que vous n'aviez pas besoin d'authentification pour vous inscrire et confirmer les utilisateurs. Voici ce que j'ai actuellement dans ces paramètres: App client settingsParamètres du pool d'utilisateurs AWS Cognito pour l'application mobile

Voici mon code pour tenter de confirmer l'adresse e-mail avec le code de vérification:

public async Task<Exception> VerifyEmail(String sUsername, String sVerificationCode) 
    { 

     CognitoAWSCredentials oCreds = new CognitoAWSCredentials(sIdentityPoolID, Amazon.RegionEndpoint.USEast2); 
     AmazonCognitoIdentityProviderClient oClient = new AmazonCognitoIdentityProviderClient(oCreds, Amazon.RegionEndpoint.USEast2); 
     CognitoUserPool oUserPool = new CognitoUserPool(sUserPoolID, sClientID, oClient); 
     CognitoUser oCognitoUser = new CognitoUser(sUsername, sClientID, oUserPool, oClient); 

     try 
     { 
      await oCognitoUser.ConfirmSignUpAsync(sVerificationCode, false); 
      return null; 
     } 
     catch (Exception e) 
     { 
      return e; 
     } 
    } 

Répondre

1

Essayez d'utiliser AnonymousAWSCredentials sur le AmazonCognitoIdentityProviderClient, par exemple essayer de changement:

AmazonCognitoIdentityProviderClient oClient = new AmazonCognitoIdentityProviderClient 
(oCreds, Amazon.RegionEndpoint.USEast2); 

à

AmazonCognitoIdentityProviderClient oClient = new AmazonCognitoIdentityProviderClient 
(new AnonymousAWSCredentials(), RegionEndpoint.USEast2); 
+0

Wow. J'aurais pu jurer que j'avais déjà essayé ça, mais ça a marché. Merci. – Tristan