© Chan2545/shutterstock.com
API-Authentifizierung mit Azure Active Directory - Teil 1

Web-APIs mit Tokens absichern


Best Practice bei der Authentifizierung von APIs stellen heute die sogenannten JSON Web Tokens (JWT) nach dem OAuth-Standard dar. Sie können von einem API schnell und in der Regel ohne zusätzliche Server-Roundtrips verifiziert werden. Aber wo bekomme ich solche JWTs für die Nutzer meines API her? Ein Token-Service wird benötigt, der Benutzeranmeldungen entgegennimmt, Identitäten verifiziert und passende Tokens ausstellt.

Microsoft stellt mit dem Identity Framework, Azure Active Directory (AAD) und AAD B2C die Infrastruktur für Authentifizierungen nach OAuth 2.0 und OpenID Connect (OIDC) aus der Cloud für uns zur Verfügung. Das ermöglicht neben der Authentifizierung mit Businesskonten aus dem Firmen-AD auch eine Nutzung in Szenarien, in denen private Endanwender, wie zum Beispiel Nutzer einer öffentlichen App, einbezogen werden sollen. Außerdem ist die Anbindung anderer Log-ins, zum Beispiel von Social-Media-Konten oder Apple- und Google-IDs möglich. Wer sein API im Microsoft-.NET-Umfeld baut, kann von der Integration dieser Infrastruktur in die gängigen Tools wie Visual Studio profitieren. Ein Blick auf Microsofts Token-Service lohnt sich schon deshalb.

Diese zweiteilige Artikelserie stellt die wesentlichen Konzepte dieser Microsoft Identity Platform vor. Im ersten Teil zeigen wir, welche Schritte notwendig sind, um die Authentifizierungsdienste von Azure zu nutzen, und wie auf Seiten unseres Anwendungs-Backends die Verarbeitung mit Hilfe eines .NET-Core-Web-API erfolgt. Auf die Details von OAuth/OIDC gehen wir dabei allerdings nur so weit ein, wie es für das Verständnis der Beispiele notwendig ist und verweisen für die genauen Hintergründe auf die offizielle Spezifikation unter [1]. Alle Schritte können mit der kostenlosen Basisvariante von Azure durchgeführt werden, für die Sie sich erforderlichenfalls unter https://azure.com anmelden können.

Ein Benutzerverzeichnis für das API

Applikationen und APIs, die die Identity Platform von Azure nutzen wollen, müssen in dem Benutzerverzeichnis (Directory) registriert werden, in dem die zu authentifizierenden Accounts geführt werden. Dabei erhält man eine eindeutige App-ID, die später Bestandteil der Zugriffstokens wird und sicherstellt, dass nur zueinander passende Applikationen und APIs miteinander in Kontakt treten. Da wir unser API später sowohl mit unseren Unternehmenskonten nutzen als auch beliebigen fremden Benutzern Zugriff erlauben wollen, müssen wir zunächst ein sogenanntes B2C-Verzeichnis anlegen. Ein...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang