So verwenden Sie den OAuth 2.0-Autorisierungscode in APIs, die in Frends veröffentlicht wurden

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Voraussetzungen

Sie benötigen Zugriff auf das Azure-Portal und die Entra-ID, um Anwendungen zu registrieren. Sie benötigen außerdem Zugriff auf einen Frends-Mandanten.

1 - Einrichten einer Anwendung in Azure AD

Neue App-Registrierung erstellen

Um zu beginnen, gehen Sie zuhttps://portal.azure.commit einem Konto, das neue Anwendungen im Verzeichnis registrieren kann, und gehen Sie zuAzure Active Directory > App-Registrierungenund klicken Sie aufNeuanmeldung.

Geben Sie einen aussagekräftigen Namen für die Anwendungsregistrierung ein und wählen Sie dieMandantenfähigaus derUnterstützte KontotypenListe, wie im Bild unten gezeigt. Sie müssen auch eine Umleitungs-URI hinzufügen, dies wird jedoch in den folgenden Schritten erledigt. Klicken Sie aufRegistrierensobald Sie die erforderlichen Einstellungen konfiguriert haben.

Zugriffstoken aktivieren und Umleitungs-URI festlegen

Beim Autorisierungscode-Flow müssen Sie die Antwort der Anwendung so einstellen, dass sie ein Zugriffstoken enthält, und eine Umleitungs-URI hinzufügen. Dies können Sie tun, indem Sie zuVerwalten > Authentifizierungund klicken Sie auf "+ Eine Plattform hinzufügen".

ImWeb konfigurierenIm angezeigten Fenster können Sie die Umleitungs-URI festlegen.Implizite Gewährung und Hybridflüsseaktivieren Sie denID-Token (für implizite und hybride Flows verwendet)Option. Wenn die externe Adresse Ihres Agenten myagent.frendsapp.com ist, wäre die Umleitungs-URIhttps://myagent.frendsapp.com/api/auth/oauth2-redirect.html

Sobald alle Einstellungen konfiguriert sind, klicken Sie aufKonfigurierenum zu speichern.

Neues Client-Geheimnis erstellen

Als nächstes finden Sie dieSeite „Zertifikate und Geheimnisse“imVerwaltenDropdown-Liste. Navigieren Sie zuClient-Geheimnisseund klicken Sie auf "+ Neues Client-Geheimnis".

Geben Sie in der geöffneten Ansicht einen beschreibenden Namen für das Client-Geheimnis ein und definieren Sie die Ablaufzeit. Klicken Sie dann aufHinzufügen. Nachdem das Client-Geheimnis hinzugefügt wurde, suchen Sie es in der Liste unten und kopieren und speichern Sie dieWertzur späteren Verwendung. Dieser Wert kann nur direkt nach der Erstellung gespeichert werden. Denken Sie also daran, ihn sofort zu speichern. Wenn Sie den Wert verlieren, müssen Sie ein neues Client-Geheimnis erstellen.

Sammeln Sie die folgenden Gegenstände:

Client-ID und Tenant-ID

Navigieren Sie zumÜberblickSeite in Ihrer Bewerbung und beachten Sie dieAnwendung

(Client-)IDund dieVerzeichnis-ID (Mandant)

OAuth 2.0-Autorisierungs- und Token-Endpunkt-URLs

Navigieren Sie zumEndpunkteSeite imÜberblickSpeisekarte.

Kopieren Sie beideOAuth 2.0-Autorisierungsendpunkt (v2)und dieOAuth 2.0-Token-Endpunkt (v2).

Ändern "Organisationen" in der Endpunkt-URL zurVerzeichnis-ID (Mandant).

Anwendungs-ID-URI

Navigieren Sie zumBereitstellen einer APISeite aus demVerwaltenDropdown. Kopieren Sie dieAnwendungs-ID-URIWert und speichern Sie ihn. Wenn dort kein Anwendungs-ID-URI-Wert vorhanden ist, klicken Sie einfach aufHinzufügenund es sollte ein vorgeschlagener Wert vorhanden sein, den Sie verwenden können.

2 - Zugriffstoken mit Postman generieren

Verwenden Sie zum Generieren eines Zugriffstokens Postman, da es über eine integrierte, äußerst praktische OAuth 2.0-Autorisierungsmethode verfügt.

Erstellen Sie eine neue Anfrageseite und navigieren Sie zuGenehmigungKonfigurieren Sie dann die Einstellungen wie im Bild und in den weiteren Anweisungen unten gezeigt.

  • InTokennameGeben Sie einen beschreibenden Namen für Ihre Access Token-Anforderung an.

  • InZuschussartWählen Sie dieAutorisierungscodeOption aus dem Dropdown-Menü

  • InRückruf-URLfügen Sie dieUmleitungs-URIdie Sie zuvor konfiguriert haben

  • InAuthentifizierungs-URLfügen Sie dieOAuth 2.0-Autorisierungsendpunkt (v2)die Sie zuvor gespeichert haben

  • InZugriffstoken-URLfügen Sie dieOAuth 2.0-Token-Endpunkt (v2)die Sie zuvor gespeichert haben

  • InKunden-IDfügen Sie dieAnwendungs-(Client-)IDdie Sie zuvor gespeichert haben

  • InClient-Geheimnisfügen Sie dieClient-GeheimnisWert, den Sie zuvor erstellt (und hoffentlich) gespeichert haben. Wenn Sie ihn nicht gespeichert haben, müssen Sie einen neuen erstellen

  • InUmfangfügen Sie dieAnwendungs-(Client-)IDund fügen Sie am Ende /.default hinzu

  • InZustandhinzufügen123456. Wie von Postman angegeben, handelt es sich dabei um „einen undurchsichtigen Wert, der zur Verhinderung von Cross-Site-Request-Forgery verwendet wird.“

  • InClient-AuthentifizierungWählen Sie dieClientanmeldeinformationen im Textkörper sendenOption aus dem Dropdown-Menü

Sobald alle Einstellungen konfiguriert sind, klicken Sie aufNeues Zugriffstoken anfordernund Sie sollten zu einer Anmeldeseite weitergeleitet werden. Melden Sie sich an und Sie sollten in Postman Ihr Zugriffstoken erhalten.

3 - Zugriffstoken dekodieren

Da Sie nun über ein Zugriffstoken verfügen, dekodieren wir es und überprüfen den dekodierten Wert des Tokens.

Eine der einfachsten Möglichkeiten hierfür ist, zu gehen zujwt.iound verwenden Sie die Debugger-Funktion.

Fügen Sie denZugriffstokenWert für dieCodiertFeld. Überprüfen Sie, ob Sie die dekodiertenNUTZLAST: DATENFeld

Kopieren und speichern Sie dieissWert, der sich in derNUTZLAST:DATENFeld. Dies ist erforderlich, wenn Frends so konfiguriert wird, dass Entra ID als OAuth 2.0-Autorisierungsanbieter für eine mit Frends veröffentlichte API verwendet wird.

4 - Konfigurieren Sie die Frends-API so, dass die Entra-ID und die erstellte App-Registrierung als Autorisierungsanbieter verwendet werden

Konfigurieren des OAuth 2.0-Autorisierungscodeflusses in der OpenAPI-Spezifikation der Frends API

Hier ist eine einfache Beispiel-API, die die Verwendung von Entra ID als OAuth 2.0-Autorisierungsanbieter mit Autorisierungscode-Flow demonstriert. Sie können dies nach Ihren Bedürfnissen ändern.

openapi: 3.0.1
Info:
Titel: Demo zum OAuth 2.0-Autorisierungscodefluss
Beschreibung: Einfaches API-Beispiel, das die Verwendung von Entra ID als OAuth 2.0-Autorisierungsanbieter mit dem OAuth 2.0-Autorisierungscode-Flow demonstriert.
Version: 0.0.1
Server:
- URL: /API/MachineToMachine/v1
Pfade:
/Zeit:
erhalten:
Zusammenfassung: Gibt die aktuelle Uhrzeit und das Datum zurück.
Antworten:
'200':
Beschreibung: Aktuelle Uhrzeit und Datum
Inhalt:
Anwendung/Text:
Schema:
Typ: Zeichenfolge
Komponenten:
Sicherheitsschemata:
AzureAD:
Typ: oauth2
Beschreibung: Diese API verwendet OAuth 2.0-Flows.
fließt:
Autorisierungscode:
authorizationUrl: https://login.microsoftonline.com/common/oauth2/ authorize?resource=DURCH CLIENT-ID ERSETZEN
tokenUrl: https://login.microsoftonline.com/DURCH ANWENDUNGS-ID ERSETZEN/
Bereiche: { }
Sicherheit:
- AzureAD: [ ]

Um die Verwendung von OAuth 2.0 mit der API zu ermöglichen, sind die wesentlichen TeileSicherheitsschemataUndSicherheitam Ende der OpenAPI-Spezifikation.

ImAutorisierungs-URLFeld müssen Sie den Text ersetzenDurch Client-ID ersetzenmit der tatsächlichen Client-ID. Für dieses Beispiel der App-Registrierung wird dieAutorisierungs-URLDer Feldwert sollte folgendermaßen aussehen:

https://login.microsoftonline.com/common/oauth2/authorize?resource=649c7107-f69f-4a4f-b691-71ef91f573d7

ImToken-URLFeld müssen Sie den Text ersetzenDurch Anwendungs-ID ersetzenmit der tatsächlichen Anwendungs-ID. Für dieses Beispiel der App-Registrierung wird dieToken-URLDer Feldwert sollte folgendermaßen aussehen:

https://login.microsoftonline.com/9cd84eb1-4a03-43a6-a2cf-dafd7ed0fb14/

Speichern Sie die OpenAPI-Spezifikation, bevor Sie mit dem nächsten Schritt fortfahren.

Konfigurieren Sie die OAuth 2.0-Anwendung in Frends

NOTIZ: Die Anweisungen ab diesem Punkt sind für Frends 5.7 oder älter vorgesehen.

NOTIZ: Für diesen Schritt benötigen Sie Administratorrechte für Ihren Frends-Mandanten oder müssen einen Frends-Administrator bitten, die Konfiguration für Sie vorzunehmen.

Navigieren Sie in der Frends-Benutzeroberfläche zuVerwaltung > OAuth-Anwendungenund klicken Sie auf „+ Neu erstellen“.

ImNeue OAuth-AnwendungSeite füllen Sie die folgenden Felder aus:

  1. Name- Geben Sie einen beschreibenden Namen für die OAuth-Anwendung ein. Normalerweise bezieht sich der Name auf die API, in der die Authentifizierung und Autorisierung des OAuth 2.0 Authorization Code Flow verwendet wird.

  2. Emittent- Fügen Sie dieissden Wert, den Sie zuvor gespeichert haben

  3. Publikum- Fügen Sie dieAnwendungs-ID-URIden Wert, den Sie zuvor gespeichert haben

  4. Wenn Sie fertig sind, klicken Sie aufÄnderungen speichern

Konfigurieren Sie die OAuth 2.0 API-Zugriffsrichtlinie in Frends

Navigieren Sie in der Frends-Benutzeroberfläche zuVerwaltung > API-Zugriffsrichtlinien.

ImNeue Zugriffsrichtlinie erstellenSeite füllen Sie die folgenden Felder aus:

  1. Name- Geben Sie einen beschreibenden Namen ein, der sich auf die API und die API-Clients bezieht, für die diese Richtlinie den API-Zugriff definiert

  2. Beschreibung- Dies ist nicht zwingend erforderlich, es empfiehlt sich jedoch, die Anwendungsfälle für die API detaillierter zu beschreiben

  3. Erlaubter Zugriffstoken-Aussteller- Wählen Sie aus dem Dropdown-Menü den Aussteller aus, den Sie zuvor konfiguriert haben

Konfigurieren Sie die Frends-API so, dass eine oder mehrere bestimmte API-Zugriffsrichtlinien verwendet werden

Öffnen Sie die Frends API-Verwaltungsansicht, navigieren Sie zu Ihrer Frends-API und wählen Sie aus der Dropdown-Liste „API-Zugriffsrichtlinien“ die API-Zugriffsrichtlinie aus, die Sie im vorherigen Schritt konfiguriert haben. Unten sehen Sie ein Beispiel für eine Frends-API mit der im vorherigen Schritt ausgewählten Beispiel-API-Zugriffsrichtlinie.


Verwandte ArtikelEinführung in die API-Authentifizierung mit FrendsEinführung in OAuth 2.0So verwenden Sie den OAuth 2.0 Client Credentials Flow in APIs, die in Frends veröffentlicht wurdenSo verwenden Sie den impliziten OAuth 2.0-Flow in APIs, die in Frends veröffentlicht wurdenSo verwenden Sie den OAuth 2.0-Autorisierungscodefluss mit PKCE in in Frends veröffentlichten APIs