Ihr technischer Leitfaden zu AWS Cognito für Serverless-Benutzerauthentifizierung

Eine Schritt für Schritt-Anleitung zur Integration von AWS Cognito in Ihre Anwendung als Serverless-Funktion

Hero image for blog on AWS Cognito step-by-step setup of user management function for serverless apps

Ein technischer Leitfaden zur Integration von AWS Cognito in Ihre Anwendung

Dieser Artikel ist ein technischer Leitfaden zur Verwendung von AWS Cognito für die Benutzerverwaltung in einer Anwendung, die Serverless-Funktionen nutzt.

Eine der häufigsten Komponenten von Webanwendungen ist ein Benutzerverwaltungssystem, das die Anmeldung, das Einloggen, die Erstellung eines Benutzerprofils und die Zuweisung von Berechtigungen erleichtert, damit der Benutzer sicher auf die entsprechenden Anwendungsmerkmale und Funktionen zugreifen kann. Serverless-Architektur oder die Verwendung von Serverless-Funktionen als Teil einer Microservices-Architektur bedeutet, dass Sie gängige Komponenten wie ein Benutzerverwaltungssystem nicht von Grund auf neu programmieren müssen, sondern einfach eine vorgefertigte Funktion integrieren können.

In diesem technischen Leitfaden führen wir Sie Schritt für Schritt durch die Integration von AWS Cognito, dem Benutzerverwaltungssystem des weltweit größten Cloud- und Serverless-Anbieters.

Serverless-Komponenten für die Benutzerverwaltung

Unabhängig von der Serverless-Plattform sind die Funktionen der Serverless Benutzerverwaltung alle relativ ähnlich und umfassen die folgenden Funktionen:

  • Sichere Authentifizierung und Autorisierung des Benutzers (Anmeldung, Einloggen, Passwort-Änderung vergessen, Multi-Faktor-Autorisierung)
  • Sofort anpassbare gehostete UI oder SDK.
  • Zusammenschluss von Identitätsanbietern (Single Sign On mit bestehenden Konten von Amazon, Google, Facebook, Twitter).
  • Benutzer-Migration.
  • Flexible App-Integration mit benutzerdefiniertem Authentifizierungsfluss, falls erforderlich.
  • Cloud-Ressourcen nur durch Konfiguration gesichert.
  • Alle anderen integrierten Server-Ressourcen werden über eine Token-Verifizierung (ein kurzer Code) gesichert.
  • Skalierbar auf Millionen von Nutzern, ohne etwas ändern zu müssen.
  • Einmalige Anmeldung über mehrere Apps hinweg (einmalige Registrierung, ein Benutzerprofil, Verwendung für alle Apps).

Eine Schritt für Schritt-Anleitung zur Integration von AWS Cognito in Ihre Anwendung als Serverless-Funktion

Lassen Sie uns den Integrationsprozess für die AWS Cognito-Benutzerverwaltungskomponente durchgehen, und Sie werden sehen, wie einfach die Konfiguration sein kann.

Schritt 1

Melden Sie sich zunächst bei Ihrem AWS-Konto an und wählen Sie in der Navigation Services aus. Sie finden Cognito unter der Kategorie „Sicherheit, Identität und Compliance“.

Schritt 2

Wählen Sie die AWS-Regionen aus, in denen Sie die Benutzerverwaltungskomponente einrichten möchten. Sie sollten eine geografische Nähe zu möglichst vielen Ihrer Benutzer anstreben.

AWS Cognito step-by-step adding regions

Schritt 3

Klicken Sie auf „Create a User Pool“ und geben Sie einen Namen ein (z. B. TestAppUserPool).

AWS Cognito step-by-step create user pool

Schritt 4

Klicken Sie in dem sich öffnenden Fenster auf die Schaltfläche Review defaults and Create Pool. Ihr Benutzer-Pool wurde

AWS Cognito step-by-step user pool created

Schritt 5

Konfigurieren Sie eine Client-Anwendung, die diese Benutzerverwaltungskomponente verwenden soll (sie kann von verschiedenen Anwendungen gemeinsam genutzt werden). Stellen Sie sicher, dass Sie das Kontrollkästchen Generate Client deaktivieren.

AWS Cognito step-by-step Client application

Schritt 6

Konfigurieren Sie die Einstellungen der Client-Anwendung, um den erstellten App-Client in Ihren Benutzerpool zu integrieren. Wählen Sie Callback-URLs für An- und Abmeldeanfragen.

AWS Cognito step-by-step integrate created App client

Schritt 7

Konfigurieren Sie einen Domainnamen für Ihre Benutzerpool-Benutzeroberfläche, indem Sie App-Integration->Domain-Name wählen und ein Domain-Präfix eingeben, die Verfügbarkeit prüfen und die Änderungen speichern.

AWS Cognito step-by-step Configure domain name for User pool UI

Das war’s. Sie haben Ihre erste Serverless-Funktion zur Benutzerverwaltung erstellt und konfiguriert, die Sie nun in Ihrer Webanwendung verwenden können. Sie können damit Ihre Web-/Mobilanwendungsressourcen mit AWS SDK, AWS Amplify und Serverless Framework sichern.

Prüfen Sie nun, ob Ihr Browser die Adresse ansteuert:

https://<DOMAIN_NAME>..auth.<AWS_REGION>.amazoncognito.com/login?response_type=code&client_id=<APP_CLIENT_ID>&redirect_uri=<REDIRECT_URL>

DOMAIN_NAME – from step 7

AWS_REGION – from step 7

APP_CLIENT_ID – from step 5

REDIRECT_URL – from step 6

Sample: (https://mytestappuserpooldomain.auth.eu-central-1.amazoncognito.com/login?response_type=code&client_id=6ka14g4k7vvkqbubga33c2n0g&redirect_uri=https://localhost:4200)

Sie sollten ein Anmeldeformular für die AWS-Benutzerverwaltung sehen, das Sie in den Einstellungen zur Anpassung der Benutzeroberfläche Ihres AWS Cognito-Benutzerpools leicht an Ihre Bedürfnisse anpassen können.

AWS Cognito step-by-step user management login
AWS Cognito step-by-step complete

Versuchen Sie, sich bei Ihrer Anwendung anzumelden, und nachdem Sie den Registrierungsprozess durchlaufen haben, der standardmäßig mit einem E-Mail-Verifizierungscode geschützt ist (geben Sie bei der Registrierung eine echte E-Mail ein, um ihn zu sehen), melden Sie sich an und werden zu der URL weitergeleitet, die Sie in Schritt 6 gewählt haben.

AWS Cognito step-by-step set-up complete

Für Ihren Benutzerpool stehen zahlreiche Konfigurationen zur Verfügung, von erforderlichen Feldern und Richtlinien zur Passwortstärke bis hin zu Multi-Faktor-Autorisierung und Single Sign On mit verschiedenen Identitätsanbietern (Twitter, Facebook).

Alternativen zu AWS Cognito

Es gibt viele Alternativen zu AWS Cognito als Serverless User Management-Funktion. Andere Anbieter von serverlosen Plattformen und Drittanbieter bieten alle Komponenten mit nahezu identischen Kernfunktionen an. Einige Beispiele sind:

  • Auth0
  • Google IAM
  • Azure Active Directory

Sie verfügen alle über ähnliche Funktionen und können daher in Betracht gezogen werden, wenn Ihre Infrastruktur eine andere Wahl als AWS Cognito erfordert (z. B. bei der Verwendung von Windows-Servern – ziehen Sie den Azure User Management Service in Betracht).

Wir hoffen, dass diese Schritt-für-Schritt-Anleitung zu den Funktionen und der Konfiguration der AWS Cognito User Management-Komponente zeigt, wie leistungsfähig und praktisch moderne Serverless-Komponenten geworden sind.

Kann K&C Sie bei Ihrem nächsten Cloud-Entwicklungsprojekt unterstützen?

Von unserem Standort in München aus haben wir uns als einer der vertrauenswürdigsten Nearshore-IT-Outsourcing-Anbieter in Deutschland und Europa etabliert. Mit über 20 Jahren Erfahrung in der Zusammenarbeit mit Partnern, die von multinationalen Blue-Chip-Unternehmen bis hin zu spannenden KMUs und Start-ups reichen, bieten unser deutsches Management und unsere Nearshore-Tech-Talente eine perfekte Mischung aus Kommunikation, Qualität und Preis.

Wir sind auf Web-, Cloud-Native- und DevOps-Technologien spezialisiert und bieten Nearshore-Teamerweiterung, dedizierte Softwareentwicklungsteams, Berater und IT-Rekrutierungsdienste. Wir würden uns freuen, von Ihnen über Web-, Serverless- und Cloud-Entwicklungsprojekte zu hören, für die Sie erfahrene Unterstützung benötigen. Schreiben Sie uns einfach eine Nachricht!

Ausgewählte Blogbeiträge