Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Umschalten von nicht authentifizierten Benutzern zu authentifizierten Benutzern
Amazon-Cognito-Identitäten-Pools unterstützen authentifizierte und nicht authentifizierte Benutzer. Nicht authentifizierte Benutzer erhalten Zugriff auf Ihre AWS Ressourcen, auch wenn sie bei keinem Ihrer Identitätsanbieter angemeldet sind (). IdPs Dieser Grad des Zugriffs ist nützlich, um Inhalte für Benutzer anzuzeigen, bevor sie sich anmelden. Jeder nicht authentifizierte Benutzer hat eine eindeutige Identität im Identitäten-Pool, auch wenn er nicht einzeln angemeldet und authentifiziert ist.
In diesem Abschnitt wird beschrieben, wie Benutzer vorgehen, wenn sie von einer Anmeldung als nicht authentifizierte Identität zur Verwendung einer authentifizierten Identität wechseln möchten.
Android
Benutzer können sich als nicht authentifizierte Gäste bei Ihrer Anwendung anmelden. Irgendwann entscheiden sie sich vielleicht dafür, sich mit einem der unterstützten anzumelden. IdPs Amazon Cognito stellt sicher, dass eine ältere Identität dieselbe eindeutige ID beibehält wie die neue und dass die Profildaten automatisch zusammengeführt werden.
Ihre Anwendung wird über die Schnittstelle IdentityChangedListener
über die Profilzusammenführung informiert. Implementieren Sie die Methode identityChanged
in der Schnittstelle, um diese Meldungen zu erhalten:
@override public void identityChanged(String oldIdentityId, String newIdentityId) { // handle the change }
iOS – Objective-C
Benutzer können sich als nicht authentifizierte Gäste bei Ihrer Anwendung anmelden. Schließlich könnten sie sich entscheiden, sich mit einer der unterstützten Optionen anzumelden IdPs. Amazon Cognito stellt sicher, dass eine ältere Identität dieselbe eindeutige ID beibehält wie die neue und dass die Profildaten automatisch zusammengeführt werden.
NSNotificationCenter
informiert die Anwendung über eine Profilzusammenführung:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(identityIdDidChange:) name:AWSCognitoIdentityIdChangedNotification object:nil]; -(void)identityDidChange:(NSNotification*)notification { NSDictionary *userInfo = notification.userInfo; NSLog(@"identity changed from %@ to %@", [userInfo objectForKey:AWSCognitoNotificationPreviousId], [userInfo objectForKey:AWSCognitoNotificationNewId]); }
iOS – Swift
Benutzer können sich als nicht authentifizierte Gäste bei Ihrer Anwendung anmelden. Schließlich könnten sie sich entscheiden, sich mit einer der unterstützten Optionen anzumelden IdPs. Amazon Cognito stellt sicher, dass eine ältere Identität dieselbe eindeutige ID beibehält wie die neue und dass die Profildaten automatisch zusammengeführt werden.
NSNotificationCenter
informiert die Anwendung über eine Profilzusammenführung:
[NSNotificationCenter.defaultCenter().addObserver(observer: self selector:"identityDidChange" name:AWSCognitoIdentityIdChangedNotification object:nil) func identityDidChange(notification: NSNotification!) { if let userInfo = notification.userInfo as? [String: AnyObject] { print("identity changed from: \(userInfo[AWSCognitoNotificationPreviousId]) to: \(userInfo[AWSCognitoNotificationNewId])") } }
JavaScript
Anfänglich nicht authentifizierter Benutzer
Benutzer beginnen in der Regel mit der nicht authentifizierten Rolle. Für diese Rolle stellen Sie die Eigenschaft für die Anmeldeinformationen Ihres Konfigurationsobjekt so ein, dass sie keine Anmeldeeigenschaft enthält. In diesem Fall könnte Ihre Standardkonfiguration folgendermaßen aussehen:
// set the default config object var creds = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'us-east-1:1699ebc0-7900-4099-b910-2df94f52a030' }); AWS.config.credentials = creds;
Wechseln Sie zum authentifizierten Benutzer
Wenn ein nicht authentifizierter Benutzer sich bei einem IdP anmeldet und Sie ein Token haben, können Sie den Benutzer vom nicht authentifizierten in einen authentifizierten Benutzer ändern, indem Sie eine benutzerdefinierte Funktion aufrufen, welche das Anmeldeobjekt aktualisiert und das Anmelde-Token hinzufügt:
// Called when an identity provider has a token for a logged in user function userLoggedIn(providerName, token) { creds.params.Logins = creds.params.Logins || {}; creds.params.Logins[providerName] = token; // Expire credentials to refresh them on the next request creds.expired = true; }
Darüber hinaus können Sie ein CognitoIdentityCredentials
-Objekt erstellen. Wenn Sie dies tun, müssen Sie die Anmeldeeigenschaften von vorhandenen Serviceobjekten zurücksetzen, um die aktualisierten Konfigurationsdaten für die Anmeldeinformationen darzustellen. Weitere Informationen finden Sie unter Verwenden des Global Configuration Object.
Weitere Informationen zu dem CognitoIdentityCredentials
Objekt finden Sie unter AWS. CognitoIdentityCredentialsin der AWS SDK for JavaScript API Referenz.
Unity
Benutzer können sich als nicht authentifizierte Gäste bei Ihrer Anwendung anmelden. Irgendwann könnten sie beschließen, sich mit einem der unterstützten anzumelden IdPs. Amazon Cognito stellt sicher, dass eine ältere Identität dieselbe eindeutige ID beibehält wie die neue und dass die Profildaten automatisch zusammengeführt werden.
Sie können das IdentityChangedEvent
abonnieren, um Benachrichtigungen über Profilzusammenführungen zu erhalten:
credentialsProvider.IdentityChangedEvent += delegate(object sender, CognitoAWSCredentials.IdentityChangedArgs e) { // handle the change Debug.log("Identity changed from " + e.OldIdentityId + " to " + e.NewIdentityId); };
Xamarin
Benutzer können sich als nicht authentifizierte Gäste bei Ihrer Anwendung anmelden. Schließlich könnten sie sich entscheiden, sich mit einer der unterstützten Optionen anzumelden IdPs. Amazon Cognito stellt sicher, dass eine ältere Identität dieselbe eindeutige ID beibehält wie die neue und dass die Profildaten automatisch zusammengeführt werden.
credentialsProvider.IdentityChangedEvent += delegate(object sender, CognitoAWSCredentials.IdentityChangedArgs e){ // handle the change Console.WriteLine("Identity changed from " + e.OldIdentityId + " to " + e.NewIdentityId); };