0

J'essaie d'utiliser Mobile Hub pour la première fois. J'ai créé un exemple d'application et de connexion utilisateur uniquement via facebook. Mon principal problème estComment utiliser cognito pour authentifier un utilisateur en utilisant un hub mobile?

  1. Comment savoir c'est la première connexion de l'utilisateur de temps ou existait avant
  2. Comment synchroniser les données de jeu de données AWS Cognito

Pour résoudre la première question que je suis venu avec cette solution pour vérifier l'ensemble de données utilisateur s'il est vide, c'est la première fois que l'utilisateur est joint.

Afin de le faire en application délégué didFinishLaunchingWithOptions:

AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] 
                 initWithRegionType:AWSRegionUSEast1 
                 identityPoolId:@"us-east-1:pool id is here"]; 

AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:credentialsProvider]; 



[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; 

Et plus tard, je suis en train de le faire:

AWSCognito *syncClient = [AWSCognito defaultCognito]; 

// Create a record in a dataset and synchronize with the server 
AWSCognitoDataset *dataset = [syncClient openOrCreateDataset:@"Sample"]; 
[dataset setString:@"test2" forKey:@"test"]; 
[[dataset synchronize] continueWithBlock:^id(AWSTask *task) { 
    // Your handler code here 
    return nil; 
}]; 

[dataset synchronize]; 

Il n'y a pas pour l'ensemble de données utilisateur sur le serveur. J'essaye de créer cet ensemble de données. Mais le problème est [AWSCognito defaultCognito] return null. J'ai vérifié la documentation et il dit:

Renvoie le client de service de singleton. Si l'objet singleton n'existe pas , le SDK instancie le client de service par défaut avec defaultServiceConfiguration à partir de [AWSServiceManager defaultServiceManager]. La référence à cet objet est maintenue par le SDK, et vous n'avez pas besoin de le conserver manuellement. Renvoie zéro si le fournisseur d'informations d'identification n'est pas une instance du fournisseur AWSCognitoCredentials .

Je ne suis pas sûr de ce qui me manque. Pourquoi quand j'appelle ce singleton il renvoie null!

Comment puis-je vérifier si le fournisseur d'informations d'identification est une instance du fournisseur AWSCognitoCredentials? J'ai vérifié dans le navigateur d'identité dans les services de Cognito

Nouvelle identité est créée mais il n'y a pas de jeu de données. cela peut-il être lié aux rôles et à l'IAM?

Répondre

1

Vous devriez suivre l'exemple du projet d'exemple d'application mobile AWS Mobile Hub, que vous pouvez télécharger à partir de la page "Intégrer" dans Mobile Hub. En supposant que vous avez activé la fonctionnalité "Stockage des données utilisateur" dans votre projet Mobile Hub, cet exemple inclut toutes les entrées de fichier Info.plist requises, ce qui active Amazon Cognito. Vous devez également lire toutes les instructions d'intégration dans la page "Intégrer" de la console AWS Mobile Hub, pour vous assurer que vous ne manquez aucune autre étape d'intégration.

Sincèrement,
Andrew C
AWS mobile Developer Experience