Przykłady kodu usługi Azure Active Directory (punkt końcowy w wersji 1.0)
Ostrzeżenie
Ta zawartość dotyczy starszego punktu końcowego Azure AD w wersji 1.0. Użyj Platforma tożsamości Microsoft dla nowych projektów.
Możesz użyć usługi Azure Active Directory (Azure AD), aby dodać uwierzytelnianie i autoryzację do aplikacji internetowych i internetowych interfejsów API.
Ta sekcja zawiera linki do przykładów, których można użyć, aby dowiedzieć się więcej na temat punktu końcowego Azure AD w wersji 1.0. Te przykłady pokazują, jak to zrobić wraz z fragmentami kodu, których można używać w aplikacjach. Na przykładowej stronie kodu znajdziesz szczegółowe tematy dotyczące odczytu i mnie, które ułatwiają wymagania, instalację i konfigurację. Kod jest komentowany, aby ułatwić zrozumienie krytycznych sekcji.
Uwaga
Jeśli interesuje Cię Microsoft Entra przykłady kodu w wersji 2, zobacz Przykłady kodu w wersji 2.0 według scenariusza.
Ostrzeżenie
Obsługa biblioteki Active Directory Authentication Library (ADAL) zakończy się w grudniu 2022 r. Aplikacje korzystające z biblioteki ADAL w istniejących wersjach systemu operacyjnego będą nadal działać, ale wsparcie techniczne i aktualizacje zabezpieczeń zostaną zakończone. Bez ciągłych aktualizacji zabezpieczeń aplikacje korzystające z biblioteki ADAL staną się coraz bardziej narażone na najnowsze wzorce ataków zabezpieczeń. Aby uzyskać więcej informacji, zobacz Migrowanie aplikacji do biblioteki MSAL.
Aby zrozumieć podstawowy scenariusz dla każdego przykładowego typu, zobacz Scenariusze uwierzytelniania dla Azure AD.
Możesz również współtworzyć nasze przykłady w usłudze GitHub. Aby dowiedzieć się, jak to zrobić, zobacz przykłady i dokumentację usługi Azure Active Directory.
Aplikacje jednostronicowe
W tym przykładzie pokazano, jak napisać aplikację jednostronicową zabezpieczoną przy użyciu Azure AD.
Platforma | Wywołuje własny interfejs API | Wywołuje inny internetowy interfejs API |
---|---|---|
javascript-singlepageapp | ||
angularjs-singlepageapp | angularjs-singlepageapp-cors |
Aplikacje internetowe
Aplikacje internetowe logujące użytkowników, wywołując program Microsoft Graph lub internetowy interfejs API z tożsamością użytkownika
Poniższe przykłady ilustrują aplikacje internetowe podpisujące użytkowników. Niektóre z tych aplikacji wywołają również program Microsoft Graph lub własny internetowy interfejs API w nazwie zalogowanego użytkownika.
Platforma | Tylko loguje użytkowników | Wywołuje program Microsoft Graph | Wywołuje inny interfejs API sieci Web ASP.NET lub ASP.NET Core 2.0 |
---|---|---|---|
ASP.NET Core 2.0 | dotnet-webapp-openidconnect-aspnetcore | webapp-webapi-multitenant-openidconnect-aspnetcore (Azure AD Graph) | dotnet-webapp-webapi-openidconnect-aspnetcore |
ASP.NET 4.5 | webapp-WSFederation-dotNet dotnet-webapp-webapi-oauth2-useridentity | dotnet-webapp-multitenant-openidconnect (Azure AD Graph) | |
python-webapp-graphapi | |||
java-webapp-openidconnect | |||
php-graphapi-web |
Aplikacje internetowe demonstrujące kontrolę dostępu opartą na rolach (autoryzacja)
W poniższych przykładach pokazano, jak zaimplementować kontrolę dostępu opartą na rolach (RBAC). Kontrola dostępu oparta na rolach służy do ograniczania uprawnień niektórych funkcji w aplikacji internetowej określonym użytkownikom. Użytkownicy są autoryzowani w zależności od tego, czy należą do grupy Azure AD, czy mają daną rolę aplikacji.
Platforma | Sample | Opis |
---|---|---|
ASP.NET 4.5 | dotnet-webapp-groupclaims dotnet-webapp-roleclaims | Aplikacja internetowa MVC platformy .NET 4.5, która używa ról Azure AD do autoryzacji |
Klasyczne i mobilne publiczne aplikacje klienckie wywołujące program Microsoft Graph lub internetowy interfejs API
Poniższe przykłady ilustrują publiczne aplikacje klienckie (aplikacje klasyczne/mobilne), które uzyskują dostęp do programu Microsoft Graph lub internetowego interfejsu API w nazwie użytkownika. W zależności od urządzeń i platform aplikacje mogą logować użytkowników na różne sposoby (przepływy/dotacje):
- Interaktywnie
- Dyskretnie (ze zintegrowanym uwierzytelnianiem systemu Windows w systemie Windows lub nazwą użytkownika/hasłem)
- Delegowanie logowania interakcyjnego do innego urządzenia (przepływ kodu urządzenia używany na urządzeniach, które nie udostępniają kontrolek internetowych)
Aplikacja kliencka | Platforma | Przepływ/Udzielanie | Wywołuje program Microsoft Graph | Wywołuje interfejs API sieci Web ASP.NET lub ASP.NET Core 2.x |
---|---|---|---|---|
Desktop (WPF) | Interaktywne | Część elementu dotnet-native-multitarget |
dotnet-native-desktop dotnet-native-aspnetcore dotnet-webapi-manual-jwt-validation |
|
Mobile (UWP) | Interaktywne | dotnet-native-uwp-wam W tym przykładzie użyto wam, a nie ADAL.NET |
dotnet-windows-store (Aplikacja platformy UWP używająca ADAL.NET do wywoływania pojedynczego interfejsu API sieci Web dzierżawy)
dotnet-webapi-multitenant-windows-store (Aplikacja platformy UWP używająca ADAL.NET do wywoływania wielodostępnego internetowego interfejsu API) |
|
Mobile (Android, iOS, UWP) | Interaktywne | dotnet-native-multitarget |
||
Urządzenia przenośne (Android) | Interaktywne | android |
||
Mobile (iOS) | Interaktywne | nativeClient-iOS |
||
Pulpit (konsola) | Nazwa użytkownika/hasło Zintegrowane uwierzytelnianie systemu Windows | dotnet-native-headless |
||
Pulpit (konsola) | Nazwa użytkownika/hasło | java-native-headless |
||
Pulpit (konsola) | Przepływ kodu urządzenia | dotnet-deviceprofile |
Aplikacje demona (uzyskiwanie dostępu do internetowych interfejsów API przy użyciu tożsamości aplikacji)
W poniższych przykładach pokazano aplikacje klasyczne lub internetowe, które uzyskują dostęp do programu Microsoft Graph lub internetowego interfejsu API bez użytkownika (z tożsamością aplikacji).
Aplikacja kliencka | Platforma | Przepływ/Udzielanie | Wywołuje internetowy interfejs API ASP.NET lub ASP.NET Core 2.0 |
---|---|---|---|
Aplikacja demona (konsola) | Poświadczenia klienta z wpisem tajnym aplikacji lub certyfikatem | dotnet-demon dotnet-daemon-certificate-credential | |
Aplikacja demona (konsola) | Poświadczenia klienta z certyfikatem | dotnetcore-daemon-certificate-credential | |
aplikacja internetowa ASP.NET | Poświadczenia klienta | dotnet-webapp-webapi-oauth2-appidentity |
Interfejsy API sieci Web
Internetowy interfejs API chroniony przez usługę Azure Active Directory
Poniższy przykład pokazuje, jak chronić internetowy interfejs API Node.js przy użyciu Azure AD.
W poprzednich sekcjach tego artykułu można również znaleźć inne przykłady ilustrujące aplikację kliencką wywołującą ASP.NET lub ASP.NET Core internetowy interfejs API. Te przykłady nie zostały ponownie wymienione w tej sekcji, ale znajdziesz je w ostatniej kolumnie tabel powyżej lub poniżej
Platforma | Przykład |
---|---|
node-webapi |
Internetowy interfejs API wywołujący program Microsoft Graph lub inny internetowy interfejs API
W poniższych przykładach pokazano internetowy interfejs API, który wywołuje inny internetowy interfejs API. W drugim przykładzie pokazano, jak obsługiwać dostęp warunkowy.
Platforma | Wywołuje program Microsoft Graph | Wywołuje inny interfejs API sieci Web ASP.NET lub ASP.NET Core 2.0 |
---|---|---|
ASP.NET 4.5 | dotnet-webapi-onbehalfof dotnet-webapi-onbehalfof-ca | dotnet-webapi-onbehalfof dotnet-webapi-onbehalfof-ca |
Inne przykłady programu Microsoft Graph
Przykłady i samouczki demonstrujące różne wzorce użycia dla interfejs Graph API firmy Microsoft, w tym uwierzytelnianie za pomocą Azure AD, zobacz Przykłady społeczności programu Microsoft Graph & Samouczki.