Zum Hauptinhalt springen

6 Beiträge markiert mit "OIDC"

Alle Tags anzeigen

Jenkins OIDC, Gitea OIDC und Grafana SSO mit Casdoor: Ein Login für einen selbst gehosteten DevOps-Stack

· 10 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Jedes Tool in einem typischen selbst gehosteten DevOps-Stack kann als OpenID Connect Client fungieren: Gitea und Argo CD unterstützen OIDC nativ, Jenkins über das oic-auth Plugin, Grafana und Portainer über generisches OAuth 2.0, und MinIO, Harbor sowie GitLab über ihre OIDC-Einstellungen. Richten Sie alle auf eine Casdoor-Instanz aus, weisen Sie jedem Tool seine eigene Casdoor-Anwendung zu und ordnen Sie Ihre Benutzer Casdoor-Gruppen zu. Jedes Tool liest dann den groups-Claim und entscheidet, wer ein Administrator ist. Dieser Artikel listet die Callback-URL, die Konfigurationsschlüssel und die Gruppenzuordnung für jedes Tool auf und behandelt anschließend die gemeinsamen Teile.

Nginx CAS Authentication and SSO: Schützen Sie jede App hinter Nginx mit Casdoor

· 11 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Open-Source-nginx hat kein CAS-Modul, daher bedeutet "nginx CAS authentication" in der Praxis eines von zwei Setups. Entweder fragt nginx jeden Request über sein auth_request-Modul bei einem Authentifizierungsdienst ab, und Casdoor antwortet (direkt unter /api/forward-auth, oder über casdoor-forward-auth oder OAuth2 Proxy), oder die App hinter nginx ist selbst ein CAS-Client und kommuniziert mit den CAS-Server-Endpunkten von Casdoor. Wenn Sie nginx neu kompilieren können, führt das Casdoor-nginx-Modul den Login innerhalb von nginx aus, und wenn Sie nginx gar nicht betreiben möchten, kann der Site-Proxy von Casdoor vor der App sitzen. In jedem Fall ist die Login-Seite die von Casdoor, sodass eine SSO-Sitzung, ein Satz Berechtigungen und eine MFA-Richtlinie alle Apps abdecken.

RP-initiated Logout und SSO Logout in OpenID Connect: So meldet Casdoor Benutzer ab

· 11 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Die Abmeldung eines Benutzers von einer OpenID Connect-App erfordert mehr als das Löschen Ihres eigenen Sitzungs-Cookies. Der Benutzer ist beim Identitätsanbieter weiterhin angemeldet, sodass der nächste Klick auf "Sign in" direkt ohne Passwort durchgeht, und die anderen Apps, die diese Identitätsanbieter-Sitzung teilen, bleiben ebenfalls angemeldet. Eine ordnungsgemäße Abmeldung besteht aus drei Teilen: Löschen der lokalen Sitzung Ihrer App, Umleiten des Browsers zum end_session_endpoint des Anbieters (RP-initiated logout), damit die Anbieter-Sitzung beendet wird, und Ermöglichen, dass der Anbieter die anderen Apps über Back-Channel-Logout informiert. Bei Casdoor ist der End-Session-Endpunkt /api/logout, Back-Channel-Logout wird pro Anwendung konfiguriert, und Refresh-Tokens können unter /api/login/oauth/revoke widerrufen werden.

Spring Boot SSO mit OpenID Connect: Spring Security, Resource Server und Spring Cloud Gateway mit Casdoor

· 13 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Um Single Sign-On zu Spring Boot hinzuzufügen, registrieren Sie jede App als Anwendung bei einem OpenID Connect-Anbieter wie Casdoor, verweisen Sie Spring Security auf die Issuer-URL des Anbieters und wählen Sie das Spring-Modul aus, das zur App passt: oauth2Login() für eine serverseitig gerenderte Web-App, oauth2ResourceServer().jwt() für eine REST-API, die Bearer-Tokens empfängt, und Spring Cloud Gateway mit dem TokenRelay-Filter, wenn ein Gateway Benutzer für einen Satz von Microservices authentifiziert. Benutzer erhalten SSO, weil jede App sie an denselben Casdoor sendet, der sich die Sitzung merkt: Die zweite App leitet um, Casdoor kennt den Benutzer bereits, und er kehrt direkt ohne Login-Formular zurück. Dieser Beitrag richtet alle drei Varianten gegen einen Casdoor ein, jeweils mit einer funktionierenden application.yml und einer angepassten SecurityFilterChain.

DolphinScheduler, IoTDB und andere Apache-Datenplattformen: SSO mit Casdoor

· 10 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Mehrere Apache-Daten- und Middleware-Projekte bringen ihre eigene Casdoor-Anmeldung mit: Apache DolphinScheduler hat einen Authentifizierungstyp namens CASDOOR_SSO (seit 3.2.0) und einen generischen OIDC-Modus (seit 3.4.0), Apache ShenYu hat ein Casdoor-Plugin (seit 2.5.1), Apache Pulsar Manager hat eine „Log in with Casdoor“-Schaltfläche (seit 0.3.0), und Apache APISIX hat das authz-casdoor-Plugin (seit 2.14.0). Apache IoTDB ist die Ausnahme: Die Datenbank selbst authentifiziert sich mit ihren eigenen Benutzern und Passwörtern, und nur die inzwischen archivierte IoTDB Web Workbench kommuniziert mit Casdoor. Die folgende Tabelle listet jedes Projekt, die Version und den Ort der Einstellungen auf; der zweite Teil des Artikels richtet die Benutzerauthentifizierung in IoTDB Schritt für Schritt ein.

Steam OAuth und Telegram OAuth mit Casdoor: Hinzufügen von Non-Standard-Social-Logins über OIDC

· 10 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Es gibt kein "Steam OAuth": Steam authentifiziert Benutzer mit OpenID 2.0 und liefert Ihnen eine 64-Bit-SteamID, sonst nichts. Das klassische Login Widget von Telegram ist auch kein OAuth: Es übergibt Ihrer Seite eine Reihe von Benutzerfeldern plus einen HMAC-SHA256-Hash, den Sie mit Ihrem Bot-Token überprüfen. Telegram betreibt jetzt auch einen echten OpenID Connect Provider unter oauth.telegram.org. Wenn Sie Casdoor zwischen Ihre App und diese Anbieter schalten, führt Casdoor die protokollspezifischen Prüfungen durch, und Ihre App spricht nur noch OpenID Connect mit Casdoor, genau wie sie es bei Google oder GitHub tun würde.