Abrufen von Anmeldeinformationen - Amazon Cognito

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.

Abrufen von Anmeldeinformationen

Sie können Amazon Cognito verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Rechten für Ihre Anwendung bereitzustellen, sodass Ihre Benutzer auf Ressourcen zugreifen können. AWS In diesem Abschnitt wird beschrieben, wie Sie Anmeldeinformationen erhalten und eine Amazon-Cognito-Identität aus Ihrem Identitäts-Pool abrufen.

Amazon Cognito unterstützt sowohl authentifizierte als auch nicht authentifizierte Identitäten. Für nicht authentifizierte Benutzer wird die Identität nicht verifiziert, sodass diese Rolle für Gastbenutzer Ihrer Anwendung geeignet ist, oder in Fällen, in denen es keine Rolle spielt, ob Benutzer ihre Identität verifizieren lassen. Authentifizierte Benutzer melden sich bei Ihrer Anwendung über einen Drittanbieter oder einen Benutzerpool an, der ihre Identität überprüft. Vergewissern Sie sich, dass Sie die Berechtigungen der Ressourcen entsprechend anpassen, damit Sie keinen Zugriff von nicht authentifizierten Benutzern darauf gewähren.

Amazon-Cognito-Identitäten sind keine Anmeldeinformationen. Sie werden mithilfe der Unterstützung von Web Identity Federation in der AWS Security Token Service () gegen Anmeldeinformationen ausgetauscht.AWS STS Die empfohlene Methode zum Erhalt von AWS -Anmeldeinformationen für Ihre App-Benutzer ist die Verwendung von AWS.CognitoIdentityCredentials. Die Identität im Anmeldeinformationsobjekt wird dann gegen Anmeldeinformationen mit ausgetauscht AWS STS.

Anmerkung

Wenn Sie Ihren Identitätspool vor Februar 2015 erstellt haben, müssen Sie Ihre Rollen erneut mit Ihrem Identitätspool verknüpfen, um den AWS.CognitoIdentityCredentials-Konstruktor ohne die Rollen als Parameter verwenden zu können. Öffnen Sie dazu die Amazon-Cognito-Konsole und wählen Sie Identitätspools verwalten, Ihren Identitätspool und danach Identitätspool bearbeiten aus, legen Sie Ihre authentifizierten und nicht authentifizierten Rollen fest und speichern Sie die Änderungen.

Anbieter von Anmeldeinformationen für Web-Identitäten sind Teil der standardmäßigen Anbieterkette für Anmeldeinformationen in AWS -SDKs. Um Ihr Identitätspool-Token in einer lokalen config Datei für ein AWS SDK oder das festzulegen AWS CLI, fügen Sie einen web_identity_token_file Profileintrag hinzu. Weitere Informationen finden Sie im Referenzhandbuch zu AWS SDKs und Tools unter Übernehmen Sie die Rolle des Anbieters von Anmeldeinformationen.

Weitere Informationen zum Eingeben von Web-Identitäts-Anmeldeinformationen in Ihrem SDK finden Sie im SDK-Entwicklerhandbuch. Die besten Ergebnisse erzielen Sie, wenn Sie Ihr Projekt mit der integrierten Identitätspool-Integration beginnen. AWS Amplify

AWS SDK-Ressourcen zum Abrufen und Einrichten von Anmeldeinformationen mit Identitätspools

Die folgenden Abschnitte enthalten Beispielcode in einigen älteren AWS SDKs.

Sie können Amazon Cognito verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Rechten für Ihre Anwendung bereitzustellen, sodass Ihre Benutzer auf Ressourcen zugreifen können. AWS Amazon Cognito unterstützt sowohl authentifizierte als auch nicht authentifizierte Identitäten. Gehen Sie wie folgt vor, um AWS Anmeldeinformationen für Ihre App bereitzustellen.

Um einen Amazon Cognito Cognito-Identitätspool in einer Android-App zu verwenden, richten AWS Amplify Sie ihn ein. Weitere Informationen finden Sie unter Authentifizierung im Amplify Dev Center.

Amazon-Cognito-Identität abrufen

Wenn Sie nicht authentifizierte Benutzer zulassen, können Sie sofort eine eindeutige Amazon-Cognito-ID (Identitäts-ID) für den Endbenutzer abrufen. Wenn Sie Benutzern authentifizieren, können Sie die Identitäts-ID abrufen, nachdem Sie die Anmelde-Token im Anmeldeinformationsanbieter festgelegt haben:

String identityId = credentialsProvider.getIdentityId(); Log.d("LogTag", "my ID is " + identityId);
Anmerkung

Rufen Sie getIdentityId(), refresh() oder getCredentials() nicht im Haupt-Thread Ihrer Anwendung auf. Ab Android 3.0 (API Level 11) schlägt Ihre App automatisch fehl und gibt einen Fehler aus, NetworkOnMainThreadExceptionwenn Sie Netzwerk-I/O im Hauptanwendungs-Thread ausführen. Sie müssen den Code mit AsyncTask in einen Hintergrund-Thread verschrieben. Weitere Informationen finden Sie in der Android-Dokumentation. Sie können zum Abrufen einer ID auch getCachedIdentityId() aufrufen, aber nur, wenn bereits eine ID lokal zwischengespeichert ist. Andernfalls gibt die Methode null zurück.

Sie können Amazon Cognito verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Rechten für Ihre Anwendung bereitzustellen, sodass Ihre Benutzer auf Ressourcen zugreifen können. AWS Amazon-Cognito-Identitäten-Pools unterstützen authentifizierte und nicht authentifizierte Identitäten. Gehen Sie wie folgt vor, um AWS Anmeldeinformationen für Ihre App bereitzustellen.

Um einen Amazon Cognito Cognito-Identitätspool in einer iOS-App zu verwenden, richten AWS Amplify Sie ihn ein. Weitere Informationen finden Sie unter Swift-Authentifizierung und Flutter-Authentifizierung im Amplify Dev Center.

Amazon-Cognito-Identität abrufen

Wenn Sie nicht authentifizierte Benutzer zulassen, können Sie sofort eine eindeutige Amazon-Cognito-ID (Identitäts-ID) für Ihren Endbenutzer abrufen. Sofern Sie Benutzer authentifizieren, können Sie dies nach dem Festlegen des Anmelde-Tokens in den Anmeldeinformationsanbieter tun:

// Retrieve your Amazon Cognito ID [[credentialsProvider getIdentityId] continueWithBlock:^id(AWSTask *task) { if (task.error) { NSLog(@"Error: %@", task.error); } else { // the task result will contain the identity id NSString *cognitoId = task.result; } return nil; }];
Anmerkung

getIdentityId ist ein asynchroner Aufruf. Wenn für Ihren Anbieter bereits eine Identitäts-ID festgelegt ist, können Sie credentialsProvider.identityId aufrufen, um diese lokal zwischengespeicherte Identität abzurufen. Ist für den Anbieter jedoch keine Identitäts-ID festgelegt, gibt der Aufruf von credentialsProvider.identityId nil zurück. Weitere Informationen finden Sie in der Referenz zu Amplify iOS SDK.

Sie können Amazon Cognito verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Rechten für Ihre Anwendung bereitzustellen, sodass Ihre Benutzer auf Ressourcen zugreifen können. AWS Amazon Cognito unterstützt sowohl authentifizierte als auch nicht authentifizierte Identitäten. Gehen Sie wie folgt vor, um AWS Anmeldeinformationen für Ihre App bereitzustellen.

Um einen Amazon Cognito Cognito-Identitätspool in einer iOS-App zu verwenden, richten AWS Amplify Sie ihn ein. Weitere Informationen finden Sie unter Swift-Authentifizierung im Amplify Dev Center.

Amazon-Cognito-Identität abrufen

Wenn Sie nicht authentifizierte Benutzer zulassen, können Sie sofort eine eindeutige Amazon-Cognito-ID (Identitäts-ID) für Ihren Endbenutzer abrufen. Sofern Sie Benutzer authentifizieren, können Sie dies nach dem Festlegen des Anmelde-Tokens in den Anmeldeinformationsanbieter tun:

// Retrieve your Amazon Cognito ID credentialsProvider.getIdentityId().continueWith(block: { (task) -> AnyObject? in if (task.error != nil) { print("Error: " + task.error!.localizedDescription) } else { // the task result will contain the identity id let cognitoId = task.result! print("Cognito id: \(cognitoId)") } return task; })
Anmerkung

getIdentityId ist ein asynchroner Aufruf. Wenn für Ihren Anbieter bereits eine Identitäts-ID festgelegt ist, können Sie credentialsProvider.identityId aufrufen, um diese lokal zwischengespeicherte Identität abzurufen. Ist für den Anbieter jedoch keine Identitäts-ID festgelegt, gibt der Aufruf von credentialsProvider.identityId nil zurück. Weitere Informationen finden Sie in der Referenz zu Amplify iOS SDK.

Wenn Sie noch keinen Identitätspool erstellt haben, erstellen Sie einen in der Amazon-Cognito-Konsole, bevor Sie AWS.CognitoIdentityCredentials verwenden.

Nachdem Sie einen Identitäten-Pool bei Ihren Identitätsanbietern konfiguriert haben, können Sie mit AWS.CognitoIdentityCredentials Benutzer authentifizieren. Um die Anmeldeinformationen für Ihre Anwendung so zu konfigurieren, dass Sie AWS.CognitoIdentityCredentials verwenden können, setzen Sie die credentials-Eigenschaft für AWS.Config oder Sie verwenden eine servicespezifische Konfiguration. Im folgenden Beispiel wird verwende AWS.Config:

// Set the region where your identity pool exists (us-east-1, eu-west-1) AWS.config.region = 'us-east-1'; // Configure the credentials provider to use your identity pool AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'IDENTITY_POOL_ID', Logins: { // optional tokens, used for authenticated login 'graph.facebook.com': 'FBTOKEN', 'www.amazon.com': 'AMAZONTOKEN', 'accounts.google.com': 'GOOGLETOKEN', 'appleid.apple.com': 'APPLETOKEN' } }); // Make the call to obtain credentials AWS.config.credentials.get(function(){ // Credentials will be available when this function is called. var accessKeyId = AWS.config.credentials.accessKeyId; var secretAccessKey = AWS.config.credentials.secretAccessKey; var sessionToken = AWS.config.credentials.sessionToken; });

Die optionale Logins-Eigenschaft ist eine Abbildung der Namen des Identitätsanbieters auf die Identitäts-Token für diese Anbieter. Wie Sie den Token von Ihrem Identitätsanbieter erhalten, hängt davon ab, welchen Anbieter Sie verwenden. Ist beispielsweise Facebook einer Ihrer Identitätsanbieter, könnten sie die FB.login-Funktion aus dem Facebook SDK verwenden, um ein Identitätsanbieter-Token zu erhalten:

FB.login(function (response) { if (response.authResponse) { // logged in AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'us-east-1:1699ebc0-7900-4099-b910-2df94f52a030', Logins: { 'graph.facebook.com': response.authResponse.accessToken } }); console.log('You are now logged in.'); } else { console.log('There was a problem logging you in.'); } });

Amazon-Cognito-Identität abrufen

Wenn Sie nicht authentifizierte Benutzer zulassen, können Sie sofort eine eindeutige Amazon-Cognito-ID (Identitäts-ID) für Ihren Endbenutzer abrufen. Sofern Sie Benutzer authentifizieren, können Sie dies nach dem Festlegen des Anmelde-Tokens in den Anmeldeinformationsanbieter tun:

var identityId = AWS.config.credentials.identityId;

Sie können Amazon Cognito verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Rechten für Ihre Anwendung bereitzustellen, sodass Ihre Benutzer auf Ressourcen zugreifen können. AWS Amazon Cognito unterstützt sowohl authentifizierte als auch nicht authentifizierte Identitäten. Gehen Sie wie folgt vor, um AWS Anmeldeinformationen für Ihre App bereitzustellen.

Das AWS -SDK for Unity ist jetzt Teil von AWS SDK for .NET. Informationen zu den ersten Schritten mit Amazon Cognito finden Sie im AWS SDK for .NET AWS SDK for .NET Developer Guide unter Amazon Cognito Credentials Provider. Oder im Amplify Dev Center finden Sie Optionen zum Erstellen einer App mit AWS Amplify.

Amazon-Cognito-Identität abrufen

Wenn Sie nicht authentifizierte Benutzer zulassen, können Sie sofort eine eindeutige Amazon-Cognito-ID (Identitäts-ID) für Ihren Endbenutzer abrufen. Sofern Sie Benutzer authentifizieren, können Sie dies nach dem Festlegen des Anmelde-Tokens in den Anmeldeinformationsanbieter tun:

credentials.GetIdentityIdAsync(delegate(AmazonCognitoIdentityResult<string> result) { if (result.Exception != null) { //Exception! } string identityId = result.Response; });

Sie können Amazon Cognito verwenden, um temporäre Anmeldeinformationen mit eingeschränkten Rechten für Ihre Anwendung bereitzustellen, sodass Ihre Benutzer auf Ressourcen zugreifen können. AWS Amazon Cognito unterstützt sowohl authentifizierte als auch nicht authentifizierte Identitäten. Gehen Sie wie folgt vor, um AWS Anmeldeinformationen für Ihre App bereitzustellen.

Das AWS -SDK für Xamarin ist jetzt Teil von AWS SDK for .NET. Informationen zu den ersten Schritten mit Amazon Cognito finden Sie im AWS SDK for .NET AWS SDK for .NET Developer Guide unter Amazon Cognito Credentials Provider. Oder im Amplify Dev Center finden Sie Optionen zum Erstellen einer App mit AWS Amplify.

Anmerkung

Hinweis: Wenn Sie den Identitätspool vor Februar 2015 erstellt haben, müssen Sie dem Identitätspool die Rollen neu zuweisen, um diesen Konstruktor ohne die Rollen als Parameter zu verwenden. Öffnen Sie dazu die Amazon-Cognito-Konsole und wählen Sie Identitätspools verwalten, Ihren Identitätspool und danach Identitätspool bearbeiten aus, legen Sie Ihre authentifizierten und nicht authentifizierten Rollen fest und speichern Sie die Änderungen.

Amazon-Cognito-Identität abrufen

Wenn Sie nicht authentifizierte Benutzer zulassen, können Sie sofort eine eindeutige Amazon-Cognito-ID (Identitäts-ID) für Ihren Endbenutzer abrufen. Sofern Sie Benutzer authentifizieren, können Sie dies nach dem Festlegen des Anmelde-Tokens in den Anmeldeinformationsanbieter tun:

var identityId = await credentials.GetIdentityIdAsync();