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.
Wenn Sie mit der Authentifizierung von Benutzerpools beginnen, müssen Sie sich für Ihr Anwendungsautorisierungsmodell entscheiden. Die Amazon Cognito Cognito-Authentifizierung erfordert in der Regel, dass Sie zwei API-Operationen nacheinander implementieren. Die API-Operationen, die Sie für die Authentifizierung verwenden, hängen von den Eigenschaften Ihrer Anwendung ab. Öffentliche Clients, bei denen die Anwendung an Benutzer verteilt wird, verwenden die öffentliche Authentifizierung, bei der Anmeldeanfragen keine Autorisierung erfordern. Serverseitige Clients, bei denen die Anwendungslogik auf einem Remotesystem gehostet wird, können Authentifizierungsvorgänge mit IAM-Autorisierung für Anmeldeanfragen schützen. Die folgenden API-Operationspaare und ihre entsprechenden SDK-Methoden sind jedem der verfügbaren Autorisierungsmodelle zugeordnet.
Einen Vergleich der API-Authentifizierung und eine vollständige Liste der API-Operationen und ihrer Autorisierungsmodelle finden Sie unterGrundlegendes zur Authentifizierung über API, OIDC und verwaltete Anmeldeseiten.
InitiateAuth
und RespondToAuthChallenge
sind APIs für die Verwendung mit clientseitigen öffentlichen App-Clients nicht authentifiziert. Weitere Informationen erhalten Sie unter Optionen für die clientseitige Authentifizierung und Grundlegendes zur Authentifizierung über API, OIDC und verwaltete Anmeldeseiten.
Ein Benutzer führt die Authentifizierung durch Beantwortung aufeinanderfolgender Eingabeaufforderungen durch, bis die Authentifizierung entweder fehlschlägt oder Amazon Cognito Token für den Benutzer ausgestellt. Sie können diese Schritte mit Amazon Cognito in einem Prozess wiederholen, der verschiedene Aufforderungen zur Unterstützung benutzerdefinierter Authentifizierungsabläufe beinhaltet.
Themen
Serverseitige Authentifizierungsoptionen
Webanwendungen und andere serverseitige Anwendungen implementieren die Authentifizierung in einer Sitzung auf einem Remoteserver, normalerweise in einem Browser, der eine Sitzung mit diesem Server initiiert. Serverseitige Anwendungen weisen in der Regel die folgenden Merkmale auf.
-
Sie sind in einer Anwendung integriert, die auf einem Server in Sprachen wie Java, Ruby oder Node.js installiert ist.
-
Sie stellen eine Verbindung zu Benutzerpool-App-Clients her, die möglicherweise über ein geheimes Client-Geheimnis verfügen, die als vertrauliche Clients bezeichnet werden.
-
Sie haben Zugriff auf AWS Anmeldeinformationen.
-
Sie rufen die verwaltete Anmeldung zur Authentifizierung auf oder verwenden IAM-autorisierte Operationen in der Benutzerpools-API mit einem SDK. AWS
-
Sie bedienen interne Kunden und können öffentliche Kunden bedienen.
Bei serverseitigen Vorgängen mit der Benutzerpools-API können Passwörter, Einmalkennwörter oder Hauptschlüssel als primärer Anmeldefaktor verwendet werden. Für serverseitige Apps ist die Benutzerpoolauthentifizierung mit der Authentifizierung für clientseitige Apps vergleichbar, mit Ausnahme von Folgendem:
-
Die serverseitige App stellt eine API-Anfrage. AdminInitiateAuth Für diesen Vorgang sind AWS Anmeldeinformationen mit Berechtigungen wie
cognito-idp:AdminInitiateAuth
undcognito-idp:AdminRespondToAuthChallenge
erforderlich. Der Vorgang gibt die erforderliche Abfrage oder das erforderliche Authentifizierungsergebnis zurück. -
Wenn die Anwendung eine Anfrage erhält, stellt sie eine AdminRespondToAuthChallengeAPI-Anfrage. Für den
AdminRespondToAuthChallenge
API-Vorgang sind auch AWS Anmeldeinformationen erforderlich.
Weitere Informationen zum Signieren von Amazon Cognito Cognito-API-Anfragen mit AWS Anmeldeinformationen finden Sie unter Signaturprozess für Signature Version 4 in der AWS Allgemeinen Referenz.
In der AdminInitiateAuth
-Antwort ChallengeParameters
enthält das Attribut USER_ID_FOR_SRP
– sofern vorhanden – den tatsächlichen Benutzernamen des Benutzers und keinen Alias (wie etwa E-Mail-Adresse oder Telefonnummer). In dem Aufruf an AdminRespondToAuthChallenge
in den ChallengeResponses
müssen Sie diesen Benutzernamen im Parameter USERNAME
übergeben.
Anmerkung
Da Backend-Admin-Implementierungen den Admin-Authentifizierungsablauf verwenden, unterstützt der Flow keine gespeicherten Geräte. Wenn Sie die Geräteverfolgung aktiviert haben, ist die Administratorauthentifizierung erfolgreich, aber jeder Aufruf zum Aktualisieren des Zugriffstokens schlägt fehl.
Optionen für die clientseitige Authentifizierung
Mobile Apps und andere clientseitige Anwendungstypen, die auf den Geräten der Benutzer installiert sind, weisen in der Regel die folgenden Merkmale auf.
-
Sie sind in Sprachen wie React Native, Flutter und Swift erstellt und auf Benutzergeräten bereitgestellt.
-
Sie stellen eine Verbindung zu App-Clients für Benutzerpools her, die kein geheimes Client-Geheimnis haben, die als öffentliche Clients bezeichnet werden.
-
Sie haben keinen Zugriff auf AWS Anmeldeinformationen, die IAM-autorisierte API-Anfragen autorisieren würden.
-
Sie rufen die verwaltete Anmeldung zur Authentifizierung auf oder verwenden öffentliche und tokenautorisierte Operationen in der Benutzerpools-API mit einem SDK. AWS
-
Sie bedienen öffentliche Kunden und ermöglichen es jedem, sich zu registrieren und anzumelden.
Bei clientseitigen Vorgängen mit der Benutzerpools-API können Passwörter, Einmalpasswörter oder Hauptschlüssel als primärer Anmeldefaktor verwendet werden. Der folgende Vorgang funktioniert für clientseitige Benutzer-Apps, die Sie mit oder dem erstellen. AWS AmplifyAWS SDKs
-
Der Benutzer gibt den Benutzernamen und das Passwort in der App ein.
-
Die App ruft die
InitiateAuth
-Operation mit dem Benutzernamen und den SRP-Details (Secure Remote Password) des Benutzers auf.Diese API-Operation gibt die Authentifizierungsparameter zurück.
Anmerkung
Die App generiert SRP-Details mit den integrierten Amazon Cognito SRP-Funktionen. AWS SDKs
-
Die App ruft die
RespondToAuthChallenge
-Operation auf. Wenn der Aufruf erfolgreich ist, gibt Amazon Cognito die Token des Benutzers zurück. Damit ist der Authentifizierungsablauf abgeschlossen.Wenn Amazon Cognito eine weitere Abfrage erfordert, gibt der Aufruf von
RespondToAuthChallenge
keine Token zurück. Stattdessen gibt der Aufruf eine Sitzung zurück. -
Wenn
RespondToAuthChallenge
eine Sitzung zurückgibt, ruft die AppRespondToAuthChallenge
erneut auf, dieses Mal mit der Sitzung und der Abfrageantwort (z. B. MFA-Code).
Grundlegendes zur Authentifizierung über API, OIDC und verwaltete Anmeldeseiten
Amazon Cognito Cognito-Benutzerpools sind eine Kombination aus mehreren Authentifizierungstechnologien. Sie verlassen sich auf externe Identitätsanbieter (IdPs). Sie sind IdPs für Anwendungen vorgesehen, die die Authentifizierung mit OpenID Connect (OIDC) implementieren. SDKs Sie ermöglichen die Authentifizierung als Aussteller von JSON-Web-Tokens (JWTs), ähnlich der OIDC-Authentifizierung, jedoch in API-Methoden, die Teil von sind. AWS SDKs Sie können auch sichere Zugangspunkte für Ihre Anwendungen sein.
Für die Registrierung, Anmeldung und Verwaltung von Benutzern in Ihrem Benutzerpool haben Sie zwei Möglichkeiten.
-
Ihre verwalteten Anmeldeseiten und die klassische gehostete Benutzeroberfläche umfassen die benutzerinteraktiven Endpunkte für die verwaltete Anmeldung und die Verbundendpunkte, die IdP- und Rely-Party-Rollen verwalten. Sie bilden ein Paket öffentlicher Webseiten, das Amazon Cognito aktiviert, wenn Sie eine Domain für Ihren Benutzerpool auswählen. Für einen schnellen Einstieg in die Authentifizierungs- und Autorisierungsfunktionen der Amazon Cognito Cognito-Benutzerpools, einschließlich Seiten für Registrierung, Anmeldung, Passwortverwaltung und Multi-Faktor-Authentifizierung (MFA), verwenden Sie die integrierte Benutzeroberfläche von Managed Login.
Die anderen Endpunkte des Benutzerpools erleichtern die Authentifizierung bei externen Identitätsanbietern (). IdPs Die von ihnen erbrachten Dienstleistungen beinhalten Folgendes.
-
Callback-Endpunkte von Dienstanbietern für authentifizierte Ansprüche von Ihnen, wie und. IdPs
saml2/idpresponse
oauth2/idpresponse
Wenn Amazon Cognito ein Zwischendienstanbieter (SP) zwischen Ihrer App und Ihrem IdP ist, repräsentieren die Callback-Endpunkte den Service. -
Endpunkte, die Informationen über Ihre Umgebung bereitstellen, wie
oauth2/userInfo
und/.well-known/jwks.json
. Ihre App verwendet diese Endpunkte, wenn sie Token verifiziert oder Benutzerprofildaten mit OIDC- oder 2.0-Entwicklerbibliotheken abruft. OAuth
-
-
Die Amazon Cognito Cognito-Benutzerpools-API ist eine Reihe von Tools für Ihre Web- oder Mobil-App, mit der Sie Benutzer authentifizieren können, nachdem sie Anmeldeinformationen in Ihrem eigenen benutzerdefinierten Frontend gesammelt hat. Die API-Authentifizierung für Benutzerpools erzeugt die folgenden JSON-Web-Token.
-
Ein Identitäts-Token mit überprüfbaren Attributansprüchen Ihres Benutzers.
-
Ein Zugriffs-Token, das Ihren Benutzer autorisiert, über Token autorisierte API-Anfragen für einen AWS -Service-Endpunkt zu erstellen.
Anmerkung
Zugriffstoken aus der Benutzerpool-API-Authentifizierung enthalten standardmäßig nur den
aws.cognito.signin.user.admin
-Bereich. Um ein Zugriffstoken mit zusätzlichen Bereichen zu generieren, um beispielsweise eine Anfrage an eine Drittanbieter-API zu autorisieren, fragen Sie bei der Authentifizierung über Ihre Benutzerpool-Endpunkte Bereiche an oder fügen Sie in einer Lambda-Auslöser für die Vorab-Generierung von Token benutzerdefinierte Bereiche hinzu. Die Anpassung des Zugriffstokens erhöht Ihre Rechnung um zusätzliche Kosten. AWS -
Ein Aktualisierungstoken, das Anfragen nach neuen IDs und Zugriffstoken autorisiert und die Eigenschaften der Benutzeridentität und der Zugriffskontrolle aktualisiert.
-
Sie können einen Verbundbenutzer, der sich normalerweise über die Benutzerpool-Endpunkte anmelden würde, mit einem Benutzer verknüpfen, dessen Profil in Ihrem Benutzerpool lokal ist. Ein lokaler Benutzer existiert ausschließlich in Ihrem Benutzerpool-Verzeichnis ohne Verbund über einen externen IdP. Wenn Sie ihre föderierte Identität in einer AdminLinkProviderForUserAPI-Anfrage mit einem lokalen Benutzer verknüpfen, kann sich dieser mit der Benutzerpools-API anmelden. Weitere Informationen finden Sie unter Verknüpfen von Verbundbenutzern mit einem vorhandenen Benutzerprofil.
Die Amazon-Cognito-Benutzerpool-API hat zwei Verwendungszwecke.
-
Sie erstellt und konfiguriert die Ressourcen für Ihre Amazon-Cognito-Benutzerpools. Sie können beispielsweise Benutzerpools erstellen, AWS Lambda Auslöser hinzufügen und die Benutzerpool-Domain konfigurieren, die Ihre verwalteten Anmeldeseiten hostet.
-
Es führt Registrierungs-, Anmelde- und andere Benutzervorgänge für lokale und verknüpfte Benutzer durch.
Beispielszenario unter Verwendung der Amazon-Cognito-Benutzerpool-API
-
Ihr Benutzer wählt die Schaltfläche zum Erstellen eines Kontos aus, die Sie in Ihrer App erstellt haben. Der Benutzer gibt eine E-Mail-Adresse und ein Passwort ein.
-
Ihre App sendet eine SignUpAPI-Anfrage und erstellt einen neuen Benutzer in Ihrem Benutzerpool.
-
Ihre App fordert den Benutzer zur Eingabe eines E-Mail-Bestätigungscodes auf. Der Benutzer gibt den Code ein, den er in einer E-Mail-Nachricht erhalten hat.
-
Ihre App sendet eine ConfirmSignUpAPI-Anfrage mit dem Bestätigungscode des Benutzers.
-
Ihre App fordert den Benutzer zur Eingabe seines Benutzernamens und Passworts auf und der Benutzer gibt die Informationen ein.
-
Ihre App sendet eine InitiateAuthAPI-Anfrage und speichert ein ID-Token, ein Zugriffstoken und ein Aktualisierungstoken. Ihre App ruft OIDC-Bibliotheken auf, um die Tokens Ihres Benutzers zu verwalten und eine dauerhafte Sitzung für diesen Benutzer zu unterhalten.
In der Amazon-Cognito-Benutzerpool-API können Sie keine Benutzer anmelden, die über einen IdP verbunden sind. Diese Benutzer müssen Sie über Ihre Benutzerpool-Endpunkte authentifizieren. Weitere Informationen zu den Benutzerpool-Endpunkten, die eine verwaltete Anmeldung beinhalten, finden Sie unterBenutzerpool-Endpunkte und Referenz für verwaltete Logins.
Ihre Verbundbenutzer können mit der verwalteten Anmeldung beginnen und ihren IdP auswählen, oder Sie können die verwaltete Anmeldung überspringen und Ihre Benutzer zur Anmeldung direkt an Ihren IdP senden. Wenn Ihre API-Anforderung an den Autorisieren des Endpunkts einen IdP-Parameter enthält, leitet Amazon Cognito Ihren Benutzer im Hintergrund auf die Anmeldeseite des IdP weiter.
Beispielszenario mit verwalteten Anmeldeseiten
-
Ihr Benutzer wählt die Schaltfläche zum Erstellen eines Kontos aus, die Sie in Ihrer App erstellt haben.
-
Bei der verwalteten Anmeldung wird Ihrem Benutzer eine Liste der Anbieter für soziale Identitäten angezeigt, für die Sie Entwickleranmeldedaten registriert haben. Der Benutzer entscheidet sich für Apple.
-
Ihre App leitet eine Anforderung an den Autorisieren des Endpunkts mit dem Anbieternamen
SignInWithApple
ein. -
Der Browser Ihres Benutzers öffnet die Apple-Authentifizierungsseite. Ihr Benutzer meldet sich an und autorisiert Amazon Cognito, seine Profilinformationen zu lesen.
-
Amazon Cognito bestätigt das Apple-Zugriffstoken und fragt das Apple-Profil des Benutzers ab.
-
Der Benutzer präsentiert Ihrer App einen Amazon-Cognito-Autorisierungscode.
-
Die OIDC-Bibliothek in Ihrer Anwendung tauscht den Autorisierungscode mit dem aus Token-Endpunkt und speichert ein vom Benutzerpool ausgestelltes ID-Token, Zugriffstoken und Aktualisierungstoken. Ihre App verwendet OIDC-Bibliotheken, um die Token Ihrer Benutzer zu verwalten und eine dauerhafte Sitzung für diesen Benutzer aufrechtzuerhalten.
Die Benutzerpools-API und die verwalteten Anmeldeseiten unterstützen eine Vielzahl von Szenarien, die in diesem Handbuch beschrieben werden. In den folgenden Abschnitten erörtern wir, wie sich die Benutzerpool-API weiter in Klassen unterteilt, die Ihre Anforderungen in Bezug auf die Anmeldung, Registrierung und Ressourcenverwaltung unterstützen.
Authentifizierte und nicht authentifizierte API-Operationen der Amazon-Cognito-Benutzerpools
Die Amazon-Cognito-Benutzerpool-API, die eine Schnittstelle für die Ressourcenverwaltung sowie eine Authentifizierungs- und Autorisierungsschnittstelle für Benutzer bildet, kombiniert die folgenden Autorisierungsmodelle bei ihren Operationen. Je nach API-Operation müssen Sie möglicherweise eine Autorisierung mit IAM-Anmeldeinformationen, einem Zugriffstoken, einem Sitzungstoken, einem Client-Schlüssel oder einer Kombination davon vornehmen. Für viele Operationen zur Authentifizierung und Autorisierung von Benutzern haben Sie die Wahl zwischen authentifizierten und nicht authentifizierten Versionen der Anforderung. Nicht authentifizierte Operationen sind eine bewährte Sicherheitsmethode für Apps, die Sie an Ihre Benutzer verteilen, z. B. mobile Apps. Dabei müssen Sie keine geheimen Schlüssel in Ihren Code aufnehmen.
Sie können Berechtigungen in IAM-Richtlinien nur für IAM-authentifizierte Verwaltungsoperationen und IAM-authentifizierte Benutzeroperationen zuweisen.
IAM-authentifizierte Verwaltungsoperationen können die Konfiguration Ihres Benutzerpools und Ihres App-Clients ändern und anzeigen, wie Sie dies in der AWS Management Console tun würden.
Um beispielsweise Ihren Benutzerpool in einer UpdateUserPoolAPI-Anfrage zu ändern, müssen Sie AWS Anmeldeinformationen und IAM-Berechtigungen angeben, um die Ressource zu aktualisieren.
Um diese Anfragen im AWS Command Line Interface (AWS CLI) oder einem AWS SDK zu autorisieren, konfigurieren Sie Ihre Umgebung mit Umgebungsvariablen oder einer Client-Konfiguration, die Ihrer Anfrage IAM-Anmeldeinformationen hinzufügt. Weitere Informationen finden Sie unter Zugreifen AWS mit Ihren AWS Anmeldeinformationen in der. Allgemeine AWS-Referenz Sie können auch Anforderungen direkt an die Service-Endpunkte für die Benutzerpool-API von Amazon Cognito senden. Sie müssen diese Anfragen mit AWS Anmeldeinformationen autorisieren oder signieren, die Sie in die Kopfzeile Ihrer Anfrage einbetten. Weitere Informationen finden Sie unter AWS API-Anfragen signieren.
IAM-authentifizierte Verwaltungsoperationen |
---|
AddCustomAttributes |
CreateGroup |
CreateIdentityProvider |
CreateResourceServer |
CreateUserImportJob |
CreateUserPool |
CreateUserPoolClient |
CreateUserPoolDomain |
DeleteGroup |
DeleteIdentityProvider |
DeleteResourceServer |
DeleteUserPool |
DeleteUserPoolClient |
DeleteUserPoolDomain |
DescribeIdentityProvider |
DescribeResourceServer |
DescribeRiskConfiguration |
DescribeUserImportJob |
DescribeUserPool |
DescribeUserPoolClient |
DescribeUserPoolDomain |
GetCSVHeader |
GetGroup |
GetIdentityProviderByIdentifier |
GetSigningCertificate |
GetUICustomization |
GetUserPoolMfaConfig |
ListGroups |
ListIdentityProviders |
ListResourceServers |
ListTagsForResource |
ListUserImportJobs |
ListUserPoolClients |
ListUserPools |
ListUsers |
ListUsersInGroup |
SetRiskConfiguration |
SetUICustomization |
SetUserPoolMfaConfig |
StartUserImportJob |
StopUserImportJob |
TagResource |
UntagResource |
UpdateGroup |
UpdateIdentityProvider |
UpdateResourceServer |
UpdateUserPool |
UpdateUserPoolClient |
UpdateUserPoolDomain |
IAM-authentifizierte Benutzeroperationen können zum Anmelden, Registrieren, Ändern und Anzeigen Ihrer Benutzer sowie zum Verwalten von deren Anmeldeinformationen verwendet werden.
Sie können beispielsweise eine serverseitige Anwendungsebene haben, die ein Web-Frontend unterstützt. Ihre serverseitige App ist ein OAuth vertraulicher Client, dem Sie privilegierten Zugriff auf Ihre Amazon Cognito Cognito-Ressourcen anvertrauen. Um einen Benutzer in der App zu registrieren, kann Ihr Server AWS Anmeldeinformationen in eine AdminCreateUserAPI-Anfrage aufnehmen. Weitere Informationen zu OAuth Clienttypen finden Sie unter Clienttypen
Um diese Anfragen im AWS CLI oder einem AWS SDK zu autorisieren, konfigurieren Sie Ihre serverseitige App-Umgebung mit Umgebungsvariablen oder einer Client-Konfiguration, die Ihrer Anfrage IAM-Anmeldeinformationen hinzufügt. Weitere Informationen finden Sie unter Zugreifen AWS mit Ihren AWS Anmeldeinformationen in der. Allgemeine AWS-Referenz Sie können auch Anforderungen direkt an die Service-Endpunkte für die Benutzerpool-API von Amazon Cognito senden. Sie müssen diese Anfragen mit AWS Anmeldeinformationen autorisieren oder signieren, die Sie in die Kopfzeile Ihrer Anfrage einbetten. Weitere Informationen finden Sie unter AWS API-Anfragen signieren.
Wenn Ihr App-Client über einen geheimen Client-Schlüssel verfügt, müssen Sie Ihre IAM-Anmeldeinformationen und, je nach Operation, den Parameter SecretHash
oder den Wert SECRET_HASH
in AuthParameters
angeben. Weitere Informationen finden Sie unter Berechnen von Werten für geheime Hashes.
IAM-authentifizierte Benutzeroperationen |
---|
AdminAddUserToGroup |
AdminConfirmSignUp |
AdminCreateUser |
AdminDeleteUser |
AdminDeleteUserAttributes |
AdminDisableProviderForUser |
AdminDisableUser |
AdminEnableUser |
AdminForgetDevice |
AdminGetDevice |
AdminGetUser |
AdminInitiateAuth |
AdminLinkProviderForUser |
AdminListDevices |
AdminListGroupsForUser |
AdminListUserAuthEvents |
AdminRemoveUserFromGroup |
AdminResetUserPassword |
AdminRespondToAuthChallenge |
AdminSetUserMFAPreference |
AdminSetUserPassword |
AdminSetUserSettings |
AdminUpdateAuthEventFeedback |
AdminUpdateDeviceStatus |
AdminUpdateUserAttributes |
AdminUserGlobalSignOut |
Nicht authentifizierte Benutzeroperationen können zur Registrierung und Anmeldung Ihrer Benutzer sowie zum Zurücksetzen des Passworts der Benutzer genutzt werden. Verwenden Sie nicht authentifizierte oder öffentliche API-Operationen, wenn Sie möchten, dass sich jeder Internetbenutzer bei Ihrer App registrieren und anmelden kann.
Um beispielsweise einen Benutzer in Ihrer App zu registrieren, können Sie einen OAuth öffentlichen Client bereitstellen, der keinen privilegierten Zugriff auf geheime Daten gewährt. Sie können diesen Benutzer mit der API-Operation ohne Authentifizierung registrieren. SignUp
Um diese Anfragen in einem öffentlichen Client zu senden, den Sie mit einem AWS SDK entwickelt haben, müssen Sie keine Anmeldeinformationen konfigurieren. Sie können Anforderungen auch direkt an die Service-Endpunkte für die Benutzerpool-API von Amazon Cognito ohne zusätzliche Autorisierung senden.
Wenn Ihr App-Client über einen geheimen Client-Schlüssel verfügt, müssen Sie je nach Operation den Parameter SecretHash
oder den Wert SECRET_HASH
in AuthParameters
angeben. Weitere Informationen finden Sie unter Berechnen von Werten für geheime Hashes.
Nicht authentifizierte Benutzeroperationen |
---|
SignUp |
ConfirmSignUp |
ResendConfirmationCode |
ForgotPassword |
ConfirmForgotPassword |
InitiateAuth |
Über Token autorisierte Benutzeroperationen können zum Abmelden, Ändern und Anzeigen Ihrer Benutzer sowie zur Verwaltung der Anmeldeinformationen für Ihre Benutzer verwendet werden, nachdem sich diese angemeldet bzw. den Anmeldevorgang gestartet haben. Verwenden Sie über Token autorisierte API-Operationen, wenn Sie keine geheimen Schlüssel in Ihrer App verteilen und Anforderungen mit den eigenen Anmeldeinformationen des Benutzers autorisieren möchten. Wenn Ihr Benutzer die Anmeldung abgeschlossen hat, müssen Sie seine über Token autorisierte API-Anforderung mit einem Zugriffstoken autorisieren. Wenn sich der Benutzer gerade in einem Anmeldevorgang befindet, müssen Sie seine über Token autorisierte API-Anforderung mit einem Sitzungstoken autorisieren, das Amazon Cognito in der Antwort auf die vorherige Anforderung zurückgegeben hat.
Vielleicht möchten Sie beispielsweise in einem öffentlichen Client das Profil eines Benutzers so aktualisieren, dass der Schreibzugriff auf das eigene Profil des Benutzers beschränkt ist. Um dieses Update durchzuführen, kann Ihr Client das Zugriffstoken des Benutzers in eine UpdateUserAttributesAPI-Anfrage aufnehmen.
Um diese Anfragen in einem öffentlichen Client zu senden, den Sie mit einem AWS SDK entwickelt haben, müssen Sie keine Anmeldeinformationen konfigurieren. Fügen Sie Ihrer Anforderung einen Parameter AccessToken
oder Session
hinzu. Sie können auch Anforderungen direkt an die Service-Endpunkte für die Benutzerpool-API von Amazon Cognito senden. Um eine Anforderung an einen Service-Endpunkt zu autorisieren, fügen Sie das Zugriffs- oder Sitzungstoken in den POST-Text Ihrer Anforderung ein.
Um eine API-Anforderung für eine über Token autorisierte Operation zu signieren, fügen Sie das Zugriffs-Token als Authorization
-Header in die Anforderung ein, und zwar im Format Bearer
.<Base64-encoded access token>
Über Token autorisierte Benutzeroperationen | AccessToken | Sitzung |
---|---|---|
RespondToAuthChallenge |
✓ | |
ChangePassword |
✓ | |
GetUser |
✓ | |
UpdateUserAttributes |
✓ | |
DeleteUserAttributes |
✓ | |
DeleteUser |
✓ | |
ConfirmDevice |
✓ | |
ForgetDevice |
✓ | |
GetDevice |
✓ | |
ListDevices |
✓ | |
UpdateDeviceStatus |
✓ | |
GetUserAttributeVerificationCode |
✓ | |
VerifyUserAttribute |
✓ | |
SetUserSettings |
✓ | |
SetUserMFAPreference |
✓ | |
GlobalSignOut |
✓ | |
AssociateSoftwareToken |
✓ | ✓ |
UpdateAuthEventFeedback |
✓ | |
VerifySoftwareToken |
✓ | ✓ |
RevokeToken ¹ |
¹ RevokeToken verwendet ein Aktualisierungstoken als Parameter. Das Aktualisierungstoken dient als Autorisierungstoken und als Zielressource.