Skip to content

Authentik SSO Konfiguration

Für den produktiven Einsatz empfehlen wir die Integration eines OIDC (OpenID Connect) fähigen Identity Providers wie Authentik. Sn0x RMM unterstützt dies nativ.

Authentik Setup

  1. Application erstellen: Erstelle in Authentik eine neue "Application" (z.B. Name Sn0x RMM, Slug sn0x-rmm).
  2. Provider erstellen: Erstelle dazu passend einen "OAuth2/OpenID Provider".
    • Client Type: Confidential
    • Redirect URIs: https://rmm.sn0x.de/auth/callback (Ersetze die Domain durch deine RMM Server Domain)
    • Scopes: email, openid, profile

Sn0x RMM Server Backend Konfiguration

Dem Backend-Server (rmm-server) müssen nun die folgenden Umgebungsvariablen (.env) übergeben werden, damit die OIDC-Flows korrekt abgewickelt werden.

env
# Die OIDC Parameter aus deinem Authentik Provider:
OIDC_CLIENT_ID="DjyoK0idk5MLaKg7E5QHj3pl7vrk8VVjLsq4MyBe"
OIDC_CLIENT_SECRET="9UvBPHJUvmf2DfhA5GvVgODz5Eys6cPncggcvt..."

# Die Issuer URL deines Providers (Wichtig: auf den abschließenden Slash achten!)
OIDC_ISSUER_URL="https://auth.sn0x.de/application/o/sn0x-rmm/"

# Die Callback-Route des Frontends:
OIDC_REDIRECT_URI="https://rmm.sn0x.de/auth/callback"

Der Login Prozess

Wenn alles konfiguriert ist:

  1. Im Login-Screen taucht der Button "Authentik SSO" auf.
  2. Der User authentifiziert sich über deinen Authentik Server.
  3. Authentik leitet den User auf die konfigurierte OIDC_REDIRECT_URI zurück.
  4. Das Backend validiert das Login und führt ein Just-in-Time (JIT) Provisioning durch. Das bedeutet, falls der User noch keinen RMM-Account hat, wird dieser vollautomatisch (als Super Admin) in der Postgres Datenbank angelegt.
  5. Im Audit Log des RMMs erscheint dieses Ereignis als auth.sso_login.

Released under the MIT License.