Suchergebnisse :

×

Schritt-für-Schritt-Anleitung zum Einrichten der REST-API-Authentifizierung in Confluence

Confluence bietet REST-APIs zum Ausführen einer Reihe von Vorgängen wie „Seite erstellen“, „Seite löschen“, „Kommentar hinzufügen“, „Bereich erstellen“ usw. Es unterstützt jedoch nur zwei Authentifizierungsmethoden für REST-APIs:

  1. Basic Authentication
  2. Verwendung von Confluence als OAuth 1.0-Anbieter

Mit dem REST-API-Authentifizierungs-Plugin für Confluence können Sie jeden OAuth 2.0-Anbieter/OpenID-Anschluss eines Drittanbieters verwenden, um REST-APIs zu authentifizieren.

 

Vorteile der Verwendung des REST-API-Authentifizierungs-Add-ons:

  1. Sicher: Dies ist sicherer als die Standardauthentifizierung, da die Anmeldeinformationen des Benutzers nicht bei jeder API-Anfrage übergeben werden. Für das Add-on ist lediglich ein vom Drittanbieter OAuth 2.0 Provider/OpenID Connect generiertes Zugriffstoken erforderlich.
  2. Flexibel:  Es ermöglicht Ihnen, für die Authentifizierung einen beliebigen OAuth 2.0-Anbieter/OpenID Connect eines Drittanbieters zu verwenden und nicht nur Confluence.
  3. Gesamtschutz: Das Plugin kann auch grundlegende Authentifizierungsanfragen blockieren, sodass niemand ohne gültiges Zugriffstoken eine REST-API verwenden kann.
  4. SSO-kompatibel: Wenn Sie Single Sign-On für Confluence verwenden, können Sie Ihren Identitätsanbieter so konfigurieren, dass er auch Authentifizierung für REST-APIs bereitstellt.

 

Der REST-API-Authentifizierungsablauf umfasst diese zwei einfachen Schritte:

  1. Fordern Sie Zugriffstoken vom OAuth 2.0/OIDC-Anbieter an
  2. Rufen Sie die Confluence REST API mit diesem Zugriffstoken auf

Schritte zum Einrichten der OAuth 2.0/OpenID Connect-Authentifizierung mit dem miniOrange REST API-Authentifizierungs-Add-on für Confluence:

Hinweis: Ich habe hier den miniOrange OAuth Provider als Beispiel verwendet. Das Add-on unterstützt jeden benutzerdefinierten OAuth 2.0/OpenID Connect-Anbieter wie Azure AD, Keycloak, Okta, Gsuite (Google Apps), AWS Cognito, Github, Gitlab usw.

Schritt 1: Richten Sie den OAuth-Fluss zwischen Ihrer Clientanwendung und dem OAuth 2.0/OpenID Connect-Anbieter ein:

    1. Client-Anwendung: Es handelt sich um einen Dienst oder Benutzer, der auf die Confluence REST API zugreifen möchte.
    2. Sie müssen einen OAuth-Fluss zwischen miniOrange und Ihrer Clientanwendung einrichten. Die Clientanwendung ist ein beliebiger Dienst oder Benutzer, der die Confluence REST API aufruft.
    3. Es wird verwendet, um den Benutzer zu autorisieren und ein Zugriffstoken zu erhalten.  Note: Dieser Ablauf wird zwischen Ihrer Clientanwendung und dem miniOrange OAuth-Anbieter eingerichtet. Das REST-API-Authentifizierungs-Add-on ist an diesem Prozess nicht beteiligt. Wenn Ihre Anwendung OAuth 2.0 nicht unterstützt, schreiben Sie uns einfach eine E-Mail an info@xecurify.com.
    4. Richten Sie miniOrange als OpenID-Anbieter ein, indem Sie die Schritt-für-Schritt-Anleitung unter diesem Link verwenden: Richten Sie miniOrange als OpenID Connect-Anbieter ein.
    5. Nachdem Sie miniOrange als OAuth-Anbieter eingerichtet haben, gehen Sie zu Apps Apps verwalten. Klicken Sie auf den Link Bearbeiten neben der App, die Sie in miniOrange erstellt haben.
    6. Kopieren Sie die Benutzerinfo-Endpunkt.

Schritt 2: Konfigurieren Sie den Introspection-Endpunkt im REST-API-Authentifizierungs-Add-on:

    1. Endpunkt der Selbstbeobachtung: Ein Selbstprüfungsendpunkt ist ein Endpunkt des OAuth/OpenID-Anbieters, der kann über ein Zugriffstoken aufgerufen werden und gibt den Benutzernamen zurück In Beantwortung.
    2. Auswählen Benutzerdefinierter OAuth-Anbieter der OAuth-Anbieter Registerkarte "Einstellung"
    3. Geben Sie die Benutzerinfo-Endpunkt in Schritt 1 im Feld „Introspection-Endpunkt“ kopiert. Es sieht aus wie das.
      https://login.xecurify.com/moas/rest/oauth/getuserinfo
    4. Der Benutzerinfo-Endpunkt von miniOrange gibt eine Antwort wie diese zurück:
      { „sub“: „demouser“, „firstname“: „Demo“, „email“: „demo@example.com“, „username“: „demouser“, „lastname“: „User“ }
    5. Benutzernamensattribut: Dieser Schlüssel in der Antwort des Introspection-Endpunkts teilt dem Plugin mit, welcher Benutzer den API-Aufruf durchführt.
    6. In der obigen Antwort heißt es: Benutzername Das Attribut enthält den Confluence-Benutzernamen der Person, die den API-Aufruf durchführt. Daher wird der Benutzername als Benutzernamensattribut eingegeben. Dadurch erkennt das Plugin, dass der Confluence-Benutzer „demouser“ einen API-Aufruf durchführt.

Schritt 3: Zugriffstoken vom miniOrange OAuth-Anbieter abrufen:

    1. OAuth-Flow mit miniOrange initiieren. Dieser OAuth-Flow sieht so aus.

2. Am Ende dieses Ablaufs wird ein Zugriffstoken an den in miniOrange konfigurierten Umleitungs-URI Ihrer Anwendung zurückgegeben.

3. Ein Beispiel-Zugriffstoken vom miniOrange OAuth-Anbieter sieht so aus.

  A834c0606ba71336423013699db8e971

Schritt 4: Verwenden Sie die Confluence REST API mithilfe eines Zugriffstokens:

    1. Rufen Sie Confluence mit einer beliebigen REST-API auf. Fügen Sie das Zugriffstoken in den Autorisierungsheader ein. Hier ist ein Beispiel für die Erstellung einer Seiten-API.

Request:

     curl \ -X POST \ -H "Autorisierung: Inhaber " \ -H "Content-type: application/json" \ --data {siehe unten} \ http://localhost:8090/confluence/rest/api/content/|phython-mjson.tool \

 

Eingabedaten:

     { „type“: „page“, „title“: „Neue Seite“, „space“: { „key“: „TST“ }, „body“: { „storage“: { „value“: Das ist eine neue Seite ", "representation="storage" } } }

2. Das Add-on validiert das Zugriffstoken.
3. Das Problem wird erstellt, wenn das Zugriffstoken ungültig ist.
4. Wenn das Token ungültig ist oder fehlt, gibt der Anruf eine 401 Unauthorized-Antwort zurück.

Hier ist das Flussdiagramm der REST-API-Authentifizierung mit dem miniOrange-Plugin.

Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Support
Kontaktieren Sie den miniOrange-Support
Erfolg

Vielen Dank für Ihre Anfrage.

Wenn Sie innerhalb von 24 Stunden nichts von uns hören, können Sie gerne eine Folge-E-Mail an senden info@xecurify.com