Microsoft Graph und Microsoft Identity

Abgeschlossen

In dieser Lektion liegt der Fokus auf dem Azure Active Directory (AD). Sie erfahren, wie Sie das Azure AD Admin Center verwenden, um eine Anwendung zu registrieren, die Anmeldeinformationen für die App einzurichten und den Typ der Anwendung zu konfigurieren. Als nächstes lernen Sie, wie Sie eine vorhandene ASP.NET MVC-Anwendung so ändern, dass sie mit Azure AD funktioniert.

Azure AD-Endpunktversionen

Azure AD-Endpunktversionen

Azure AD enthält zwei Authentifizierungs- und Token-Endpunkte. Der v2-Endpunkt ist der empfohlene Endpunkt für alle Anwendungen, die Microsoft Graph verwenden. Um zu verstehen, warum das so ist, sehen wir uns die Vorteile gegenüber dem v1-Endpunkt an.

Azure AD-v1-Endpunkt

Der Azure AD-v1-Endpunkt unterstützt nur die Azure AD-Authentifizierung. Er unterstützt keine anderen Authentifizierungsarten, z. B. ein Microsoft-Konto. Wenn sich der Benutzer mit einem persönlichen-Konto oder einem Verbraucherkonto (auch als Microsoft-Konto bezeichnet) angemeldet hat und auf Elemente wie sein OneDrive-Verbraucherkonto oder Outlook.com zugreifen wollte, musste der Entwickler der Anwendung einen speziellen Authentifizierungscode für diese Arten von Konten schreiben. Das ist ein Nachteil des v1-Endpunkts, da er nur die Arbeit in Schulkonten (Azure AD-Konten) unterstützt.

Eine weitere Herausforderung beim v1-Endpunkt besteht darin, dass er nur die statische Zustimmung unterstützt. Statische Zustimmung bedeutet, dass alle einzelnen Berechtigungen, die für eine Anwendung erforderlich sind, vorab definiert werden müssen und der Benutzer der Anwendung bei der ersten Anmeldung für alle Berechtigungen seine Zustimmung erteilen muss.

Azure AD-v2-Endpunkt

Der Azure AD-v2-Endpunkt behebt diese beiden Mängel des v1-Endpunkts. Zuerst wird eine konvergierte Authentifizierung implementiert, die die Anmeldeerlebnisse von Microsoft-Konto, Arbeits- und Schulkonto (Azure AD) zusammenführt. Entwickler müssen Benutzer nicht mehr zu bestimmten Anmeldeoberflächen weiterleiten. Alle Benutzer werden zu der konvergierten Anmeldeoberfläche weitergeleitet und benötigen Microsoft Identity, um den Kontotyp zu ermitteln. Auf diese Weise können Entwickler den gleichen Code für den Zugriff auf Microsoft Graph zum Lesen von E-Mails und Abrufen von Kontakten schreiben.

Ein weiterer Vorteil des v2-Endpunkts ist die dynamische Zustimmung. Die dynamische Zustimmung unterscheidet sich von der statischen Zustimmung darin, dass die Anwendung beim Anmelden einen Benutzer die erforderlichen Berechtigungen anfordert. Microsoft Identity bestimmt, ob der Benutzer zuvor den angeforderten Berechtigungen zugestimmt hat. Wenn einer oder mehreren nicht zugestimmt wurde, wird dem Benutzer das Dialogfeld "Zustimmung" nur für die neuen Berechtigungsanforderungen angezeigt.

Der v2-Endpunkt unterstützt auch den OpenID Connect-Standard zum Einschließen eines ID-Tokens, wenn dieser bei der Anmeldung angefordert wird. Hierbei handelt es sich um eine Erweiterung des Authentifizierungsprotokolls, und sobald der Benutzer sich erfolgreich angemeldet hat, wird es in der Anmeldeanforderung an die Anwendung zurückgegeben. Das ID-Token enthält Informationen zum aktuellen Benutzer, z. B. seine E-Mail-Adresse und seinen Namen. Während der v1-Endpunkt einige Unterstützung für OpenID Connect aufwies, entspricht der v2-Endpunkt besser der OpenID Connect-Spezifikation.

Registrieren von Azure AD-Anwendungen im Azure AD Admin Center

Azure AD-App-Registrierung

Alle Apps, denen Berechtigungen zum Verwenden weiterer Apps erteilt werden müssen, müssen in Azure AD registriert werden. Die App-Registrierung erfolgt über das Azure AD Admin Center unter https://aad.portal.azure.com. Das Azure AD Admin Center setzt nicht voraus, dass Benutzer über ein kostenpflichtiges Azure-Abonnement zum Verwalten von Benutzer und Apps verfügen. Ein Benutzer muss Zugriff zum Lesen und Bearbeiten von Benutzern, Gruppen, Apps oder zum Verwalten des Verzeichnisses haben. Das Admin Center vereint verschiedene App-Verwaltungsportale, die Entwicklern und Administratoren zuvor auf einer Website zur Verfügung standen. In diesem Portal können Sie Apps verwalten, die für die Verwendung der Microsoft Identity-Endpunkte v1 und v2 erstellt wurden.

Benutzerdefinierte Anwendungen können eine der Authentifizierungsbibliotheken verwenden, die von Microsoft bereitgestellt werden. Jede der beiden Bibliotheken wird über verschiedene SDKs für jede der von Microsoft Identity unterstützten Plattformen und Sprachen bereitgestellt.

Apps, die die v2-Endpunkte verwenden, können die Microsoft Authentication Library (MSAL)-SDKs verwenden. MSAL ersetzte die bisherige Bibliothek Azure AD-Authentifizierungsbibliothek (ADAL), die nur mit den v1-Endpunkten funktioniert.

Für in Microsoft Graph integrierte Apps empfiehlt Microsoft Entwicklern, die Microsoft Identity-v2-Endpunkte und somit die MSAL-Bibliothek zu verwenden.

Webanwendungen und Microsoft Identity

In diesem Modul wird eine ASP.NET MVC-Webanwendung verwendet, um zu demonstrieren, wie Ereignisse aus dem Kalender eines Benutzers mit Microsoft Graph angefordert und angezeigt werden. Dieses Szenario implementiert den Ablauf der OAuth 2.0-Autorisierungscodegenehmigung, um ein Zugriffstoken aus Azure AD abzurufen. Das Zugriffstoken wird in jede Anforderung einbezogen, die zur Authentifizierung des Benutzers und der Anwendung an Microsoft Graph gesendet wird.

Wenn das Zugriffstoken angefordert wird, muss sich die Web-App mit Azure AD authentifizieren. Im Rahmen der Zugriffstoken-Anforderung muss die App ihre App-ID, auch als Client-ID bezeichnet, sowie einen geheimen Schlüssel angeben. Der geheime Schlüssel kann ein x509-Zertifikat oder eine Zeichenfolge sein.

Die Web-App muss Microsoft Identity auch die Adresse der Web-App mitteilen, zu der Microsoft Identity den Benutzer bei einer erfolgreichen Anmeldung weiterleiten soll. Diese Adresse wird als Umleitungs-URI bezeichnet. Der in der Anmeldung enthaltene URI muss der Adresse in der App-Registrierung entsprechen.

Der letzte Schritt im App-Registrierungsprozess im Azure AD Admin Center besteht darin, alle Berechtigungen anzugeben, die die App benötigen wird. Dies kann entweder delegierte Berechtigungen oder Anwendungsberechtigungen umfassen. Delegierte Berechtigungen sind solche, die der Benutzer der App erteilt, um in seinem Namen zu handeln, wenn er bei der App angemeldet ist. Wenn keine interaktive Benutzersitzung vorhanden ist, werden Anwendungsberechtigungen von der App verwendet, als ob eine Dienst-App oder-Dämon-App vorliegen würde. Im Azure AD Admin Center definierte Berechtigungen sind statische Berechtigungen, keine dynamischen Berechtigungen. Benutzern werden diese Berechtigungen angezeigt, wenn Sie sich im Rahmen der zuvor erörterten allgemeinen Zustimmung zum ersten Mal bei der Anwendung anmelden.

Zusammenfassung

Diese Lektion hat sich mit Azure AD und der App-Registrierung befasst. Sie haben erfahren, wie Sie das Azure AD Admin Center verwenden, um eine Anwendung zu registrieren, die Anmeldeinformationen für die App einzurichten und den Typ der Anwendung zu konfigurieren. Sie haben außerdem gelernt, wie Sie eine vorhandene ASP.NET MVC-Anwendung so ändern, dass sie mit Azure AD funktioniert.