Zum Hauptinhalt springen

MinIO

MinIO unterstützt externe Identitätsverwaltung mit einem OpenID Connect (OIDC)-kompatiblen Anbieter. Dieses Dokument behandelt die Konfiguration von Casdoor als Identitätsanbieter zur Unterstützung von MinIO.

Schritt 1: Casdoor & MinIO bereitstellen

Zuerst Casdoor bereitstellen.

Sie können sich auf die offizielle Casdoor-Dokumentation für Serverinstallation beziehen.

Nach einer erfolgreichen Bereitstellung stellen Sie sicher, dass:

  • Der Casdoor-Server läuft auf http://localhost:8000.
  • Öffnen Sie Ihren bevorzugten Browser und besuchen Sie http://localhost:7001, um die Anmeldeseite von Casdoor zu sehen.
  • Testen Sie die Anmeldefunktionalität, indem Sie admin und 123 eingeben.

Als Nächstes können Sie schnell eine Casdoor-basierte Anmeldeseite in Ihrer eigenen App implementieren, indem Sie diesen Schritten folgen.

Sie können sich hier auf die Bereitstellung Ihres MinIO-Servers beziehen und hier für den MinIO-Client namens mc.

Schritt 2: Casdoor-Anwendung konfigurieren

  1. Erstellen Sie eine neue Casdoor-Anwendung oder verwenden Sie eine vorhandene.

  2. Fügen Sie Ihre Weiterleitungs-URL hinzu.Casdoor Anwendungseinstellungen

  3. Fügen Sie den Anbieter hinzu, den Sie möchten, und stellen Sie die notwendigen Einstellungen bereit.

    Auf der Seite der Anwendungseinstellungen finden Sie zwei Werte: Client ID und Client secret (wie im Bild oben gezeigt). Diese Werte werden wir im nächsten Schritt verwenden.

    Öffnen Sie Ihren bevorzugten Browser und besuchen Sie: http://CASDOOR_HOSTNAME/.well-known/openid-configuration, um die OIDC-Konfiguration von Casdoor zu sehen.

  4. Dieser Schritt ist notwendig für MinIO. Da MinIO ein Anspruchsattribut in JWT für seine Richtlinie verwenden muss, sollten Sie dies auch in Casdoor konfigurieren. Derzeit verwendet Casdoor tag als Workaround für die Konfiguration der MinIO-Richtlinie.

    MinIO Richtlinieneinstellung

    Sie können alle unterstützten Richtlinien hier finden.

Schritt 3: MinIO konfigurieren

Sie können einen MinIO-Server mit den folgenden Befehlen starten:

export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minio123
minio server /mnt/export

Sie können den Parameter --console-address verwenden, um die Adresse und den Port zu konfigurieren.

Als Nächstes fügen Sie einen Dienstalias mit dem MinIO-Client mc hinzu.

mc alias set myminio <Ihre Konsolenadresse> minio minio123

Jetzt konfigurieren Sie das OpenID Connect von MinIO. Für Casdoor lautet der Befehl:

mc admin config set myminio identity_openid config_url="http://CASDOOR_HOSTNAME/.well-known/openid-configuration" client_id=<client id> client_secret=<client secret> claim_name="tag"

Sie können sich auf das offizielle Dokument für detailliertere Parameter beziehen.

Nach erfolgreicher Einstellung starten Sie die MinIO-Instanz neu.

mc admin service restart myminio

Schritt 4: Probieren Sie die Demo aus!

Öffnen Sie jetzt Ihre MinIO-Konsole im Browser und klicken Sie auf Login with SSO.

Sie werden zur Casdoor-Benutzeranmeldeseite weitergeleitet. Nach erfolgreicher Anmeldung werden Sie zur MinIO-Seite weitergeleitet und automatisch angemeldet. Sie sollten jetzt die Buckets und Objekte sehen, auf die Sie Zugriff haben.

Vorsicht

Wenn Sie das Frontend und Backend von Casdoor auf unterschiedlichen Ports bereitstellen, wird die Anmeldeseite, zu der Sie weitergeleitet werden, auf dem Backend-Port sein und 404 not found anzeigen. Sie können den Port auf den des Frontends ändern. Dann können Sie die Casdoor-Anmeldeseite erfolgreich aufrufen.