Skip to main content

Übersicht

Mit JWT-Authentifizierung rufen Sie die Corgea API über Bearer-Tokens auf, die Ihr Identity Provider (IdP) wie Microsoft Entra ID oder Okta direkt ausstellt. Ein benutzerspezifisches Corgea-API-Token ist dann nicht erforderlich. Dieser Ansatz wird für System-zu-System-Integrationen wie CI/CD-Pipelines, automatisierte Scanner und interne Tools empfohlen:
  • Tokens sind an einen Service Principal oder eine App-Registrierung statt an ein bestimmtes Benutzerkonto gebunden
  • Laufzeit und Scope des Tokens werden vom IdP gesteuert
  • Tokens lassen sich zentral über den IdP widerrufen, ohne Änderungen in Corgea
Ein Corgea-API-Token ist stets an einen einzelnen Benutzer gebunden. Verlässt die Person das Unternehmen oder wird ihr Konto deaktiviert, funktionieren Automatisierungen mit diesem Token nicht mehr. JWT Auth entkoppelt die Authentifizierung vollständig von Benutzerkonten.

So funktioniert es

  1. Ihr System fordert mit Client Credentials (Client-ID und Client Secret) ein Zugriffstoken vom IdP an.
  2. Der IdP gibt ein signiertes JWT mit Claims wie iss (Issuer) und aud (Audience) zurück.
  3. Ihr System übergibt das Token beim Aufruf der Corgea API als Bearer-Token im Authorization-Header.
  4. Corgea validiert die Token-Signatur anhand der öffentlichen Schlüssel des IdP und vergleicht die Claims iss, aud und appid/cid mit der registrierten Konfiguration.

Verwendung von JWT mit Corgea CLI

Sie können ein JWT-Access-Token direkt mit dem CLI-Login-Flow verwenden:
Oder es über eine Umgebungsvariable festlegen:

JWT Auth in Corgea einrichten

Öffnen Sie Settings → Integrations und klicken Sie im Abschnitt JWT Auth auf + Add.
JWT-Auth-Konfigurationsformular in Corgea hinzufügen
Füllen Sie die folgenden Felder aus:
Decodieren Sie vor dem Ausfüllen des Formulars ein Zugriffstoken Ihres IdP mit jwt.io und prüfen Sie die exakten Werte von iss, aud und appid/cid.
Providerspezifische Werte:
  • Entra ID Issuer: https://sts.windows.net/{your-tenant-id}/
  • Entra ID Audience: Application ID URI Ihrer App (z. B. api://{client_id}), festgelegt über Expose an API in Entra
  • Okta Issuer: https://{domain}.okta.com/oauth2/default
  • Okta Audience: api://default (oder die Audience des benutzerdefinierten Authorization Servers)

Microsoft Entra ID-Einrichtung

1

Eine Anwendung in Entra registrieren

Öffnen Sie im Azure-Portal Microsoft Entra ID → App registrations → New registration. Geben Sie der App einen aussagekräftigen Namen (z. B. corgea-cicd) und registrieren Sie sie.
2

API verfügbar machen und Application ID URI festlegen

Öffnen Sie in der App-Registrierung Expose an API. Legen Sie die Application ID URI fest oder bestätigen Sie sie. Sie wird zum Claim aud in den für diese App ausgestellten Tokens.
Eine API in Microsoft Entra bereitstellen
Kopieren Sie die Application ID URI (z. B. api://5d63c8f0-c9a8-4195-90ee-a9e27e4510b8). Tragen Sie sie in Corgea als Audience ein.
3

Client Secret erstellen

Öffnen Sie Certificates & secrets → New client secret. Geben Sie eine Beschreibung und ein Ablaufdatum an und klicken Sie auf Add.
Client Secret in Microsoft Entra hinzufügen
Kopieren Sie den Value des Secrets sofort; er wird nur einmal angezeigt. Speichern Sie ihn sicher, beispielsweise im Secret Store Ihrer CI/CD-Umgebung.
4

Zugriffstoken anfordern

Ihr System fordert ein Token von Entra über den Client-Credentials-Flow an:
Die Response enthält ein access_token. Übergeben Sie es beim Aufruf von Corgea als Bearer-Token:
Ersetzen Sie https://www.corgea.app durch https://your_instance.corgea.app, wenn Sie eine private Bereitstellung verwenden.
5

Konfiguration in Corgea registrieren

Geben Sie im Corgea-Formular Add JWT Auth Configuration Folgendes ein:
  • Issuer: https://sts.windows.net/{your-tenant-id}/
  • Audience: die Application-ID-URI aus Schritt 2 (z. B. api://5d63c8f0-...)
  • Allowed Application IDs: die Application (client) ID Ihrer App-Registrierung
Klicken Sie zum Speichern auf Add.

Testen mit Postman

Wenn Sie eine GUI statt curl bevorzugen, können Sie Token-Request und API-Aufruf direkt in Postman testen. Einen curl-Befehl importieren Postman kann jeden der obigen curl-Befehle in einen Request umwandeln. Klicken Sie oben links auf Import, fügen Sie den curl-Befehl ein und Postman füllt Methode, URL, Header und Body automatisch aus.
Importieren eines Curl-Befehls in Postman
Ein Zugriffstoken anfordern Füllen Sie Ihre tenant-id, client_id, client_secret und scope in die Body-Felder ein und senden Sie dann die Anfrage. Kopieren Sie den access_token-Wert aus der Antwort.
Anfordern eines Zugriffstokens in Postman mithilfe von Client-Anmeldeinformationen
Corgea API mit dem Token aufrufen Erstellen Sie einen Request an den Corgea-Endpunkt. Wählen Sie im Tab Authorization den Typ Bearer Token und fügen Sie das access_token ein.
Aufrufen der Corgea-API mit einem Bearer-Token in Postman
Wenn Ihr Unternehmen ausgehenden Netzwerkzugriff einschränkt, müssen Sie gegebenenfalls einen Proxy konfigurieren. Öffnen Sie in Postman Settings → Proxy und fügen Sie den Unternehmensproxy hinzu. Setzen Sie für curl die Umgebungsvariable HTTPS_PROXY oder übergeben Sie --proxy https://your-proxy:port.

Token überprüfen

Verwenden Sie jwt.io, um ein Zugriffstoken zu dekodieren, bevor Sie Corgea konfigurieren. Fügen Sie Ihr Token in den Debugger ein und überprüfen Sie die Decoded Payload, um die Werte von iss, aud und appid zu bestätigen.
Decodieren eines JWT-Tokens auf jwt.io zur Überprüfung der iss- und aud-Ansprüche
Die hervorgehobenen Felder aud und iss werden von Corgea bei der Validierung eingehender Requests exakt geprüft.

Fehlerbehebung

  • 401 Unauthorized: Decodieren Sie Ihr Token mit jwt.io und prüfen Sie, ob iss, aud und appid exakt mit den Werten in Ihrer Corgea-JWT-Auth-Konfiguration übereinstimmen.
  • Token nach Rotation abgelehnt: Stellen Sie nach der Rotation des Client Secrets sicher, dass das neue Secret in Ihrer CI/CD-Umgebung hinterlegt ist. Die Corgea-Konfiguration muss nicht geändert werden, da sie Token-Claims und nicht das Secret validiert.
  • Mehrere Umgebungen: Erstellen Sie eine separate JWT Auth-Konfiguration in Corgea für jede Anwendung oder Umgebung (z. B. Staging vs. Produktion) unter Verwendung verschiedener App-Registrierungen mit unterschiedlichen Client-IDs.

Netzwerkverbindungsprobleme

Wenn die Token-Anfrage oder der API-Aufruf mit einem Verbindungsfehler fehlschlägt, verwenden Sie diese Befehle, um zu prüfen, ob eine Firewall oder ein Proxy den Datenverkehr blockiert.
Wenn der TCP-Verbindungstest fehlschlägt oder Traceroute an einem internen Hop stoppt, wenden Sie sich an Ihr Netzwerk- oder Sicherheitsteam, um ausgehendes HTTPS (Port 443) zu login.microsoftonline.com und www.corgea.app zuzulassen.