Zum Hauptinhalt springen

GitLab

Casdoor kann das OIDC-Protokoll verwenden, um sich mit einem selbstbereitgestellten GitLab-Server zu verbinden, und dieses Dokument zeigt Ihnen, wie das geht.

Vorsicht

Wie in den GitLab-Dokumenten angegeben, funktioniert GitLab nur mit OpenID-Anbietern, die HTTPS verwenden, daher müssen Sie Casdoor mit HTTPS bereitstellen, z.B. indem Sie Casdoor hinter einem NGINX-Reverse-Proxy mit einem SSL-Zertifikat-Setup platzieren. Casdoor selbst hört standardmäßig nur auf Port 8000 über HTTP und hat keine HTTPS-bezogenen Funktionen.

Im Folgenden sind einige der in der Konfiguration erwähnten Namen:

CASDOOR_HOSTNAME: Der Domainname oder die IP, wo der Casdoor-Server bereitgestellt ist, z.B. https://door.casbin.com.

GITLAB_HOSTNAME: Der Domainname oder die IP, wo GitLab bereitgestellt ist, z.B. https://gitlab.com.

Schritt 1: Casdoor und GitLab bereitstellen

Zuerst sollten Casdoor und GitLab bereitgestellt werden.

Nach einer erfolgreichen Bereitstellung müssen Sie sicherstellen:

  1. Casdoor kann normal eingeloggt und verwendet werden.
  2. Setzen Sie den origin-Wert von Casdoor (conf/app.conf) auf CASDOOR_HOSTNAME. Casdoor Konfiguration

Schritt 2: Casdoor-Anwendung konfigurieren

  1. Erstellen oder verwenden Sie eine bestehende Casdoor-Anwendung.
  2. Fügen Sie eine Weiterleitungs-URL hinzu: http://GITLAB_HOSTNAME/users/auth/openid_connect/callback.
  3. Fügen Sie den gewünschten Anbieter hinzu und ergänzen Sie andere Einstellungen.

Anwendungseinstellung Bemerkenswert ist, dass Sie auf der Seite der Anwendungseinstellungen zwei Werte erhalten können: Client ID und Client secret (siehe das Bild oben), und wir werden sie im nächsten Schritt verwenden.

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

Schritt 3: GitLab konfigurieren

Sie können die untenstehenden Schritte befolgen, um dies einzurichten, oder benutzerdefinierte Änderungen gemäß diesem Dokument vornehmen (z.B. wenn Sie GitLab mit Quellcode statt mit dem Omnibus installieren).

  1. Öffnen Sie auf Ihrem GitLab-Server die Konfigurationsdatei.

    sudo editor /etc/gitlab/gitlab.rb
  2. Fügen Sie die Anbieterkonfiguration hinzu. (Die HOSTNAME-URL sollte http oder https enthalten)

    gitlab_rails['omniauth_providers'] = [
    {
    name: "openid_connect",
    label: "Casdoor", # optional label for the login button, defaults to "Openid Connect"
    args: {
    name: "openid_connect",
    scope: ["openid", "profile", "email"],
    response_type: "code",
    issuer: "<CASDOOR_HOSTNAME>",
    client_auth_method: "query",
    discovery: true,
    uid_field: "preferred_username",
    client_options: {
    identifier: "<YOUR CLIENT ID>",
    secret: "<YOUR CLIENT SECRET>",
    redirect_uri: "<GITLAB_HOSTNAME>/users/auth/openid_connect/callback"
    }
    }
    }
    ]
  3. Starten Sie Ihren GitLab-Server neu.

  4. Jeder registrierte Benutzer kann GITLAB_HOSTNAME/-/profile/account öffnen und das Casdoor-Konto verbinden. GitLab verbinden

  5. Fertig. Jetzt können Sie sich mit Casdoor in Ihr eigenes GitLab einloggen. GitLab Anmeldung