Ich versuche, meinen Benutzer mit Cognito und Entwickler authentifizierten Identitäten zu authentifizieren. Meine Frage ist, wie setze ich die identityId auf die richtige zurück von meinem Entwickler-Backend in iOS mit objective-c?Amazon Cognito set identityId mithilfe der Entwicklerauthentifizierung Obj C
Wenn ich die Aufrufe manuell im Code oder mit Postboten mache, wird die korrekte ID von meinem Server zurückgegeben und Cognito erkennt sie und tauscht die Token korrekt aus.
Das iOS-Framework scheint eine IdentityId zuzuordnen, die nicht korrekt ist. Ich habe wirklich Mühe, die Dokumentation zu verstehen, da vieles davon veraltet und vage ist.
Hier ist mein Code unten:
NSLog(@"Complete login");
NSMutableDictionary *merge = [NSMutableDictionary dictionaryWithDictionary:self.credentialsProvider.logins];
[merge addEntriesFromDictionary:logins];
self.credentialsProvider.logins = merge;
// Force a refresh of credentials to see if we need to merge
task = [self.credentialsProvider refresh];
NSLog(@"Complete login 2-- %@", self.credentialsProvider.identityId); //The identityId assigned is incorrect...
NSLog(@"Complete login 2-- %@", self.credentialsProvider.identityPoolId); //The identityPoolId is correct
Klarheit UNTEN: Dies ist, wie es bisher funktioniert: 1 - Wenn die App seine läuft vergibt automatisch eine zufällige identityId von Amazon (also der Benutzer ursprünglich nicht authentifiziert). 2 - Der Benutzer gibt seine Zugangsdaten ein, dann führt mein Code eine URL-Anfrage an mein Backend durch, die ein gültiges Token und die korrekte identityId für den Benutzernamen und das Passwort zurückgibt. 3 - Nun muss diese neue identityId im Code initialisiert werden, um die alte nicht authentifizierte identityId zu überschreiben. 4 -Die neue IdendityId und das Token, die von meinem Server zurückgegeben wurden, müssen zur endgültigen Authentifizierung an Cognito gesendet werden, und Cognito gibt mehr Authentifizierung zurück. Wenn ich manuell sage, sende ich die Anfrage per Postbote.
Kurz gesagt: 1: Wie ändere/setze ich meine identityId? 2: Wie sende ich die aktualisierten Anmeldeinformationen, die ich von meinem Backend in meinem Client erhalten habe, an Cognito?
Versuchen Sie Ident zusammenführen ies? Auch was meinst du mit falscher Identität (eine Identität, die nicht zum aktuellen Benutzer gehört?). Kannst du auch bitte erläutern, was meinst du damit, dass du die Identität manuell festlegst? Welche Identität werden Sie manuell festlegen? –
Ich habe oben einige Klarheit hinzugefügt. – Luben