

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
<a name="getting-credentials"></a>

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](https://console.aws.amazon.com/cognito/home) 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 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](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html) 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](https://docs.amplify.aws/lib/auth/advanced/q/platform/android/#identity-pool-federation) (Android) im Amplify Dev Center
+ [Identity Pool Federation](https://docs.amplify.aws/lib/auth/advanced/q/platform/ios/#identity-pool-federation) (iOS) im Amplify Dev Center
+ [Verwenden von Amazon Cognito Identity zur Benutzerauthentifizierung](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-browser-credentials-cognito.html) im Entwicklerhandbuch AWS SDK für JavaScript 
+ [Anbieter von Amazon Cognito Cognito-Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/cognito-creds-provider.html) im AWS SDK für .NET Entwicklerhandbuch
+ [Geben Sie Anmeldeinformationen programmgesteuert im Entwicklerhandbuch](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specify-credentials-programmatically) an AWS SDK für Go 
+ Geben Sie [temporäre Anmeldeinformationen im Code im Entwicklerhandbuch](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-explicit.html) ein AWS SDK for Java 2.x 
+ [assumeRoleWithWebIdentityCredentialProvider](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_provider.html#assume-role-with-web-identity-provider)Anbieter im AWS SDK für PHP Entwicklerhandbuch
+ [Übernehmen einer Rolle mit einem Web-Identitätsanbieter](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#assume-role-with-web-identity-provider) in der AWS SDK für Python (Boto3) -Dokumentation
+ [Geben Sie Ihre Anmeldeinformationen und die Standardregion](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credentials.html) im AWS SDK für Rust Entwicklerhandbuch an

Die folgenden Abschnitte enthalten Beispielcode aus älteren Versionen AWS SDKs.

## Android
<a name="getting-credentials-1.android"></a>

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](https://docs.amplify.aws/lib/auth/getting-started/q/platform/android/) 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 eine Meldung aus, [NetworkOnMainThreadException](https://developer.android.com/reference/android/os/NetworkOnMainThreadException.html)wenn Sie im Hauptanwendungs-Thread ein Netzwerk I/O ausführen. Sie müssen den Code mit `AsyncTask` in einen Hintergrund-Thread verschrieben. Weitere Informationen finden Sie in der [Android-Dokumentation](https://developer.android.com/training/basics/network-ops/connecting.html#AsyncTask). 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. 

## iOS – Objective-C
<a name="getting-credentials-1.ios-objc"></a>

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](https://docs.amplify.aws/lib/auth/getting-started/q/platform/ios/) und [Flutter-Authentifizierung](https://docs.amplify.aws/lib/auth/getting-started/q/platform/flutter/) 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](https://github.com/aws-amplify/aws-sdk-ios). 

## iOS – Swift
<a name="getting-credentials-1.ios-swift"></a>

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](https://docs.amplify.aws/lib/auth/getting-started/q/platform/ios/) 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](https://github.com/aws-amplify/aws-sdk-ios). 

## JavaScript
<a name="getting-credentials-1.javascript"></a>

Wenn Sie noch keinen Identitätspool erstellt haben, erstellen Sie einen in der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito), 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](https://developers.facebook.com/docs/facebook-login/web) 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;
```

## Unity
<a name="getting-credentials-1.unity"></a>

 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](https://docs.aws.amazon.com/mobile/sdkforunity/developerguide/what-is-unity-plugin.html) ist jetzt Teil von [SDK für .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html). Informationen zu den ersten Schritten mit Amazon Cognito finden Sie im SDK für .NET AWS SDK für .NET Developer [Guide unter Amazon Cognito Credentials Provider](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/cognito-creds-provider.html). Oder im [Amplify Dev Center](https://docs.amplify.aws/) 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;
});
```

## Xamarin
<a name="getting-credentials-1.xamarin"></a>

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](https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/Welcome.html) ist jetzt Teil von [SDK für .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html). Informationen zu den ersten Schritten mit Amazon Cognito finden Sie im SDK für .NET AWS SDK für .NET Developer [Guide unter Amazon Cognito Credentials Provider](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/cognito-creds-provider.html). Oder im [Amplify Dev Center](https://docs.amplify.aws/) 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](https://console.aws.amazon.com/cognito/home) 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();
```