Übung – Verbinden einer ASP.NET Core-App mit Microsoft 365
In dieser Übung arbeiten Sie mit einer ASP.NET Core-Anwendung und verbinden sie mit Microsoft 365. Sie verwenden eine .NET Core-Assembly namens Microsoft.Identity.Web
, um es Benutzern zu ermöglichen, sich mit ihrem Microsoft 365-Konto bei Ihrer App anzumelden. Der Name und das Profilbild werden dann mithilfe des Microsoft Graph .NET Core SDK angezeigt.
Konfigurieren und Ausführen der Beispielapp
Diese Übung erleichtert Ihnen das Erstellen einer einfachen Web-App. Um den anfänglichen Code zum Start der App zu erhalten, den Sie verwenden werden, wechseln Sie zu https://github.com/microsoftdocs/mslearn-m365-microsoftgraph-dotnetcorerazor und wählen Sie eine der folgenden Optionen aus:
Wenn Sie Git verwenden, klonen Sie das Projekt mithilfe des git clone-Befehls:
git clone https://github.com/microsoftdocs/mslearn-m365-microsoftgraph-dotnetcorerazor.git
Wenn Sie Git nicht verwenden, wählen Sie die Schaltfläche Code gefolgt von ZIP-Datei herunterladen. Extrahieren Sie die Datei *.zip auf Ihren Computer.
Wenn Sie die anfängliche App auf Ihrem Computer haben, führen Sie die folgenden Schritte aus, um die App in Ihrem Code-Editor zu öffnen.
Wechseln Sie zum Ordner mit dem Quellcode der App, und wählen Sie je nach Code-Editor eine der folgenden Optionen aus.
Visual Studio (2019, Version 16.11.0 oder höher)
Doppelklicken Sie im Ordner mslearn-m365-microsoftgraph-dotnetcorerazor/Begin auf MicrosoftGraph-DotNetCoreRazor.sln, um das Projekt zu öffnen.
Visual Studio Code oder anderer Code-Editor
Öffnen Sie den Ordner mslearn-m365-microsoftgraph-dotnetcorerazor/Begin in einem Code-Editor.
Öffnen Sie in Ihrem Code-Editor die Datei appsettings.json und nehmen Sie sich etwas Zeit, um einige der Einstellungen durchzusehen.
Ändern Sie den Wert der Eigenschaft "
Scopes
" wie folgt, um den Zugriff zum Lesen des Profils, der Anwesenheit, der Postfacheinstellungen (für Zeitzoneninformationen) und der Kalender eines Benutzers zu ermöglichen.user.read presence.read mailboxsettings.read calendars.read
Speichern Sie appsettings.json, bevor Sie fortfahren.
Um die Werte ClientId und ClientSecret von Microsoft Entra ID hinzuzufügen, verwenden Sie ASP.NET Core-App-Geheimnisse.
Öffnen Sie ein Terminalfenster im Stammverzeichnis des Ordners mslearn-m365-microsoftgraph-dotnetcorerazor/Begin und führen Sie die folgenden Befehle aus. Ersetzen Sie dabei
YOUR_APP_ID
durch Ihre Anwendungs-ID (Client-ID) aus dem Azure-Portal undYOUR_APP_SECRET
durch den von Ihnen erstellten geheimen Anwendungsschlüssel.dotnet user-secrets init dotnet user-secrets set "AzureAd:ClientId" "YOUR_APP_ID" dotnet user-secrets set "AzureAd:ClientSecret" "YOUR_APP_SECRET"
Wichtig
In einer Produktionsanwendung können Sie vertrauliche Informationen an einem sicheren Ort wie Azure Key Vault speichern.
In diesem Projekt werden die folgenden Microsoft Identity Platform- und Microsoft Graph-Assemblys verwendet:
- Microsoft.Identity.Web: Wird zum Anfordern und Verwalten von Zugriffstoken verwendet.
- Microsoft.Identity.Web.UI: Stellt die Benutzeroberfläche zum Anmelden und Abmelden bereit.
- Microsoft.Identity.Web.MicrosoftGraph: Stellt eine Abhängigkeitsinjektion für das Microsoft Graph SDK bereit.
Führen Sie den folgenden Schritt, basierend auf Ihrem Code-Editor, aus:
Visual Studio
Drücken Sie die F5-TASTE, um das Projekt zu erstellen und auszuführen.
Visual Studio Code oder einen anderen Code-Editor
Öffnen Sie im Ordner Begin ein Terminalfenster und führen Sie den folgenden Befehl aus:
dotnet run
Wichtig
Falls eine Warnung angezeigt wird, dass das Zertifikat für localhost nicht vertrauenswürdig ist, finden Sie unter Einstufen des ASP.NET Core HTTPS-Entwicklungszertifikats unter Windows und macOS als vertrauenswürdig Anweisungen zur Verwendung der .NET Core CLI, um das Entwicklungszertifikat als vertrauenswürdig einzustufen. Wenn Sie in Visual Studio arbeiten und noch kein Entwicklerzertifikat auf Ihrem Computer genehmigt haben, werden Sie möglicherweise aufgefordert, ein Zertifikat zu genehmigen.
Öffnen Sie einen Browser, und navigieren Sie zu
https://localhost:5001
.Tipp
Wenn Sie Microsoft 365 in Ihrer täglichen Arbeit verwenden und planen, diese Übung in einem Entwicklungsmandanten durchzuführen (was vorgeschlagen wird), kann es nützlich sein, im privaten oder „Inkognito“-Modus im Browser zu arbeiten. Sie können sogar einen anderen Browser oder ein anderes Browserprofil verwenden, als Sie normalerweise in der Produktion einsetzen.
Melden Sie sich mit Ihrem Microsoft 365-Konto an.
Nach der erfolgreichen Anmeldung werden Sie aufgefordert, die erforderlichen Berechtigungen zu erteilen. Aktivieren Sie das Kontrollkästchen, um den Berechtigungen für Ihre Organisation zuzustimmen, und klicken Sie dann auf die Schaltfläche Annehmen.
Die App sollte nun eine Willkommensnachricht mit Ihrem Benutzernamen und Ihrem Profilbild anzeigen.
Schließen Sie Ihren Browser, und drücken Sie im Terminalfenster STRG+C, um den Server zu beenden.
Hinweis
Wenn Sie das Projekt in Visual Studio geöffnet haben, können Sie den Browser schließen, oder UMSCHALT+F5 in Visual Studio auswählen, um den Server zu beenden. Schließen Sie das von Visual Studio erstellte Terminalfenster, falls es noch geöffnet ist.