Probleme bei der Einrichtung von passwortlosem Login mit AWS Cognito

Fortsetzung der Diskussion von Cannot Change Theme in Discourse — Nothing Works:

Hallo Carlos! Willkommen in unserer Community. :hugs:

Ugh, das ist ärgerlich. Ich starte hier ein neues Thema, falls du bereit bist, es noch einmal mit uns zu versuchen. Ich persönlich bin nicht mit AWS Cognito vertraut. Kannst du uns erzählen, was du versucht hast und wo du stecken geblieben bist? Als gehosteter Kunde kannst du dich auch an team@discourse.org wenden, um persönlichen Support zu erhalten.

Laut unserem KI-Bot sollte es mit dem OpenID Connect-Plugin möglich sein, dies einzurichten.

AWS Cognito Setup für Discourse KI

tobiaseigen:

AWS Cognito einrichten

ForumHelperBot:

Denken...Der Benutzer fragt nach der Einrichtung von AWS Cognito. AWS Cognito ist ein Authentifizierungsdienst von Amazon Web Services, der Ihnen hilft, Benutzeranmeldung, -registrierung und Zugriffskontrolle zu Ihren Web- und Mobilanwendungen hinzuzufügen.

Ich werde nach Diskussionen oder Anleitungen zur Integration von AWS Cognito mit Discourse suchen, um die relevantesten Informationen bereitzustellen.

Suche

54 Ergebnisse für 'aws cognito integration discourse' gefunden

Denken...Ich werde die Suchergebnisse analysieren, um Informationen zur Einrichtung der AWS Cognito-Integration mit Discourse bereitzustellen.

Basierend auf den Suchergebnissen gibt es mehrere Themen, die die AWS Cognito-Integration mit Discourse diskutieren. Der Hauptansatz scheint die Verwendung des OpenID Connect Authentication Plugin für Discourse zu sein. Lassen Sie mich die wichtigsten Informationen zusammenfassen:

  1. Es gibt mehrere Themen, in denen Benutzer AWS Cognito erfolgreich mit Discourse unter Verwendung des OpenID Connect-Plugins integriert haben.

  2. Einige relevante Themen sind:

    • “Hat jemand eine funktionierende AWS Cognito-Konfiguration mit ouath2, openid oder sso?”
    • “Automatische Anmeldung mit dem OpenId Connect Plugin und AWS Cognito”
    • “Benutzerdefinierter Anmeldeflow: AWS Cognito SSO (über passwortlose Anmeldung) - Ist das möglich?”
    • “OpenID Connect-Unterstützung in einer selbst gehosteten Discourse-Instanz”
  3. Das offizielle OpenID Connect-Plugin für Discourse wird in diesen Diskussionen erwähnt: GitHub - discourse/discourse-openid-connect: Allows an OpenID Connect provider to be used as an authentication provider for Discourse

  4. Ein Benutzer erwähnte, dass er SSO über AWS Cognito aktivieren konnte, indem er die Schritte in diesen Themen befolgte:

    • “OpenID Connect Authentication Plugin”
    • “Hat jemand eine funktionierende AWS Cognito-Konfiguration mit ouath2, openid oder sso?”

Lassen Sie mich das relevanteste Thema lesen, um spezifischere Anweisungen zu erhalten.

AWS Cognito mit Discourse einrichten

Basierend auf den Suchergebnissen gibt es mehrere erfolgreiche Implementierungen der AWS Cognito-Integration mit Discourse unter Verwendung des OpenID Connect-Plugins. Hier ist, wie Sie dies einrichten können:

Schritt 1: Installieren Sie das OpenID Connect Plugin

Das Discourse OpenID Connect (OIDC)-Plugin ermöglicht es Ihnen, AWS Cognito als Authentifizierungsanbieter für Discourse zu verwenden.

Um das Plugin zu installieren, fügen Sie es Ihrer app.yml-Datei hinzu:

- git clone https://github.com/discourse/discourse-openid-connect.git

Schritt 2: Konfigurieren Sie AWS Cognito

  1. Erstellen Sie einen Benutzerpool in AWS Cognito
  2. Richten Sie einen App-Client in Ihrem Benutzerpool ein
  3. Konfigurieren Sie die Callback-URL auf https://your-discourse-site.com/auth/oidc/callback
  4. Notieren Sie sich Ihre Cognito-Domain, Client-ID und Ihr Client-Geheimnis

Schritt 3: Konfigurieren Sie das OpenID Connect Plugin in Discourse

Gehen Sie zu Admin > Einstellungen > Plugins > openid connect und stellen Sie Folgendes ein:

  • openid connect enabled: true
  • openid connect discovery document: https://{cognito-domain}.auth.{region}.amazoncognito.com/{user-pool-id}/.well-known/openid-configuration
  • openid connect client id: Ihre Cognito App-Client-ID
  • openid connect client secret: Ihr Cognito App-Client-Geheimnis
  • openid connect authorize scope: openid email profile
  • openid connect token url: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/token
  • openid connect authorize url: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/authorize
  • openid connect user json url: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/userInfo

Zusätzliche Konfigurationsoptionen

  • Um die automatische Anmeldung zu aktivieren, setzen Sie openid connect authorize url so, dass es ?prompt=none enthält.
  • Sie können den Text der Anmeldeschaltfläche mit openid connect button title anpassen.

Fehlerbehebung

Wenn Sie auf Probleme stoßen:

  • Stellen Sie sicher, dass Ihre Callback-URL sowohl in Cognito als auch in Discourse korrekt eingestellt ist.
  • Überprüfen Sie, ob Ihre Client-ID und Ihr Geheimnis korrekt sind.
  • Stellen Sie sicher, dass Ihr Cognito-Benutzerpool ordnungsgemäß konfiguriert ist, um die erforderlichen Benutzerattribute zurückzugeben.

Weitere detaillierte Implementierungsbeispiele finden Sie in dieser Diskussion, in der Benutzer ihre erfolgreichen Konfigurationen geteilt haben.

Möchten Sie spezifischere Informationen zu einem Teil dieses Einrichtungsprozesses?

2 „Gefällt mir“

Vielen Dank @tobiaseigen!

Ich habe die Community ohne AWS Cognito gestartet… mein System verwendet das Standard-Discourse-Authentifizierungssystem… es ist irgendwie hacky, weil, wann immer meine Benutzer zahlende Kunden werden, ein Webhook bei Stripe einen neuen Discourse-Benutzer über die API erstellt, ein temporäres Passwort generiert und die Anmeldedaten per E-Mail an sie sendet.

Ich wollte AWS Cognito verwenden, da mein wichtigster bezahlter Dienst ein Kurs ist, der auf Gitbook gehostet wird und mit einem passwortlosen AWS Cognito-Authentifizierungssystem geschützt ist. Die Wiederverwendung des Systems wäre ideal für meine Benutzer. Aber jetzt ist es zu spät :slight_smile:

Wie auch immer, ich glaube, ich habe alle Schritte befolgt, die Sie beschrieben haben… oder vielleicht habe ich etwas übersehen… alles hat perfekt funktioniert, bis auf die Tatsache, dass Discourse nach der Eingabe der E-Mail und des Authentifizierungscodes zurück zu /login und nicht zu / (der Startseite) weitergeleitet hat. Bei der Überprüfung der Benutzer auf der Discourse-Adminseite habe ich gesehen, dass AWS Cognito niemals Discourse-Benutzer erstellen würde.

Trotzdem danke!

1 „Gefällt mir“