2017-01-03 2 views
1

Wir haben einen Developer Identity Provider unter Verwendung unseres benutzerdefinierten Benutzerauthentifizierungsdienstes implementiert und wir haben einen Identitätspool mit vielen Identitäten, die gespeichert sind, verbunden. Wir evaluieren gerade, unsere Benutzertabelle in einen Benutzerpool zu verschieben, der mit demselben Identitätspool verbunden ist und die mobile-Hub-Bibliothek verwendet. Die Frage ist: Kann Cognito nach dem Import feststellen, ob ein Benutzer mit einem bestimmten Benutzernamen bereits im Identity Pool existiert und diesen nicht erneut erstellt (mit einer anderen Identität)? Die Selbstanmeldung ist aktiviert.AWS Cognito. Ist es möglich, Benutzer in einen Benutzerpool zu importieren und sie mit ihren vorhandenen vom Entwickler authentifizierten Identitäten in Beziehung zu setzen?

UPDATE zur Klarstellung: Unser Identity Pool hat fast 1000 vorhandene Identitäten. Alle wurden vor der Existenz der Benutzerpoolfunktion erstellt. Sie wurden mit dem Authentifizierungs-Authflow für Entwickler "Developer Authenticated" (check link) erstellt, und der externe "Developer Provider" ist eine einfache Benutzertabelle. Jede identityId im Identity Pool ist einer vorhandenen Identität (record) in unserer externen Benutzertabelle zugeordnet.

Jetzt möchten wir AWS Mobile-Hub lib in unserer iOS-App und einen User Pool verwenden, der mit dem vorhandenen Identity Pool verbunden ist. Wir möchten beginnen, neue Benutzer zu unserem Benutzerpool hinzuzufügen, aber für bestehende Benutzer haben sie bereits eine Identität, die im Identitätspool erstellt wurde. Was ist in diesem Fall zu tun?

Scheint so zu sein, dass Cognito zum Zeitpunkt der ersten Anmeldung keinen Mechanismus hat, um festzustellen, ob ein Benutzer bereits eine IdentityId hat, die von einem anderen Authentifizierungsfluss erstellt wurde (Facebook, Entwickler).

+0

Ich bin mir nicht sicher, ob ich folge. Wie würden Sie Ihren Identitätspool nach dem Import verwenden? Dein Benutzerpool? Können Sie etwas zu Ihrer Frage sagen? –

+0

Hallo Jeff, danke für deinen Kommentar. Ich habe die Frage aktualisiert, wenn es nicht genug ist, lass es mich wissen. –

Antwort

0

Sie könnten eines von ein paar Dingen tun, weil, wie Sie bemerkt haben, Cognito dies nicht vollständig für Sie erledigt.

Wenn Sie alle Benutzerpools verwenden, können Sie die Benutzerimportfunktion zum Übertragen Ihrer Benutzer verwenden.

Alternativ können Sie bei der Anmeldung überprüfen, ob der Benutzername in Ihrer Benutzertabelle vorhanden ist. Wenn dies der Fall ist, können Sie sich entweder anmelden, oder Sie können sie mit Lazy Load in Benutzerpools übertragen.

Verwandte Themen