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
Anbieter von Web-Identitätsanmeldedaten 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 unter Übernehmen der Rolle als Anbieter von Anmeldeinformationen im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.
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
-
Identity Pool Federation
(Android) im Amplify Dev Center -
Identity Pool Federation
(iOS) im Amplify Dev Center -
Verwenden von Amazon Cognito Identity zur Benutzerauthentifizierung im Entwicklerhandbuch AWS SDK for JavaScript
-
Anbieter von Amazon Cognito Cognito-Anmeldeinformationen im AWS SDK for .NET Entwicklerhandbuch
-
Geben Sie die Anmeldeinformationen im Entwicklerhandbuch programmgesteuert
an AWS SDK für Go -
Geben Sie temporäre Anmeldeinformationen im Code im Entwicklerhandbuch ein AWS SDK for Java 2.x
-
assumeRoleWithWebIdentityCredentialProviderAnbieter im AWS SDK for PHP Entwicklerhandbuch
-
Übernehmen einer Rolle mit einem Web-Identitätsanbieter
in der AWS SDK for Python (Boto3) -Dokumentation -
Geben Sie Ihre Anmeldeinformationen und die Standardregion im AWS SDK for Rust Entwicklerhandbuch an
Die folgenden Abschnitte enthalten Beispielcode aus älteren Versionen 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
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, NetworkOnMainThreadExceptionAsyncTask
in einen Hintergrund-Thread verschrieben. Weitere Informationen finden Sie in der Android-DokumentationgetCachedIdentityId()
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
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
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-KonsoleAWS.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
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
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
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
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();