Azure Active Directory-autentiseringsbibliotek
Varning
Det här innehållet gäller för den äldre Azure AD v1.0-slutpunkten. Använd Microsofts identitetsplattform för nya projekt.
Med Azure Active Directory Authentication Library (ADAL) v1.0 kan programutvecklare autentisera användare till molnet eller lokal Active Directory (AD) och hämta token för att skydda API-anrop. ADAL gör autentiseringen enklare för utvecklare via funktioner som:
- Konfigurerbar tokencache som lagrar åtkomsttoken och uppdateringstoken
- Automatisk tokenuppdatering när en åtkomsttoken upphör att gälla och en uppdateringstoken är tillgänglig
- Stöd för asynkrona metodanrop
Anteckning
Letar du efter biblioteken Azure AD v2.0? Kolla in MSAL-biblioteksguiden.
Varning
Azure Active Directory Authentication Library (ADAL) är inaktuellt. Använd Microsoft Authentication Library (MSAL). Om du har befintliga program som använder ADAL måste du migrera dem till MSAL.
Klientbibliotek som stöds av Microsoft
Plattform | Bibliotek | Ladda ned | Källkod | Exempel | Referens |
---|---|---|---|---|---|
.NET-klient, Windows Store, UWP, Xamarin iOS och Android | ADAL .NET v3 | NuGet | GitHub | Skrivbordsapp | |
JavaScript | ADAL.js | GitHub | GitHub | Ensidesapp | |
iOS, macOS | ADAL | GitHub | GitHub | iOS-app | |
Android | ADAL | Maven | GitHub | Android-app | JavaDocs |
Node.js | ADAL | npm | GitHub | Node.js-webbapp | Referens |
Java | ADAL4J | Maven | GitHub | Java-webbapp | Referens |
Python | ADAL | GitHub | GitHub | Python-webbapp | Referens |
Serverbibliotek som stöds av Microsoft
Plattform | Bibliotek | Ladda ned | Källkod | Exempel | Referens |
---|---|---|---|---|---|
.NET | OWIN för AzureAD | NuGet | GitHub | MVC-app | |
.NET | OWIN för OpenIDConnect | NuGet | GitHub | Webbapp | |
.NET | OWIN för WS-Federation | NuGet | GitHub | MVC-webbapp | |
.NET | Identity Protocol-tillägg för .NET 4.5 | NuGet | GitHub | ||
.NET | JWT-hanterare för .NET 4.5 | NuGet | GitHub | ||
Node.js | Azure AD Passport | npm | GitHub | Webb-API |
Scenarier
Här är tre vanliga scenarier för att använda ADAL i en klient som har åtkomst till en fjärrresurs:
Autentisera användare av ett internt klientprogram som körs på en enhet
I det här scenariot har en utvecklare en mobil klient eller ett skrivbordsprogram som behöver åtkomst till en fjärrresurs, till exempel ett webb-API. Webb-API:et tillåter inte anonyma anrop och måste anropas i kontexten för en autentiserad användare. Webb-API:et är förkonfigurerat för att lita på åtkomsttoken som utfärdats av en specifik Azure AD klientorganisation. Azure AD är förkonfigurerad för att utfärda åtkomsttoken för resursen. För att anropa webb-API:et från klienten använder utvecklaren ADAL för att underlätta autentisering med Azure AD. Det säkraste sättet att använda ADAL är att återge användargränssnittet för att samla in autentiseringsuppgifter (renderas som webbläsarfönster).
ADAL gör det enkelt att autentisera användaren, hämta en åtkomsttoken och uppdatera token från Azure AD och sedan anropa webb-API:et med hjälp av åtkomsttoken.
Ett kodexempel som visar det här scenariot med autentisering för att Azure AD finns i WpF-program för intern klient till webb-API.
Autentisera ett konfidentiellt klientprogram som körs på en webbserver
I det här scenariot har en utvecklare ett program som körs på en server som behöver åtkomst till en fjärrresurs, till exempel ett webb-API. Webb-API:et tillåter inte anonyma anrop, så det måste anropas från en auktoriserad tjänst. Webb-API:et är förkonfigurerat för att lita på åtkomsttoken som utfärdats av en specifik Azure AD klientorganisation. Azure AD är förkonfigurerad för att utfärda åtkomsttoken för den resursen till en tjänst med klientautentiseringsuppgifter (klient-ID och hemlighet). ADAL underlättar autentisering av tjänsten med Azure AD returnerar en åtkomsttoken som kan användas för att anropa webb-API:et. ADAL hanterar också livslängden för åtkomsttoken genom att cachelagra den och förnya den efter behov. Ett kodexempel som demonstrerar det här scenariot finns i Daemon-konsolprogram till webb-API.
Autentisera ett konfidentiellt klientprogram som körs på en server för en användares räkning
I det här scenariot har en utvecklare ett webbprogram som körs på en server som behöver åtkomst till en fjärrresurs, till exempel ett webb-API. Webb-API:et tillåter inte anonyma anrop, så det måste anropas från en auktoriserad tjänst för en autentiserad användares räkning. Webb-API:et är förkonfigurerat för att lita på åtkomsttoken som utfärdats av en specifik Microsoft Entra klientorganisation, och Microsoft Entra-ID är förkonfigurerat för att utfärda åtkomsttoken för den resursen till en tjänst med klientautentiseringsuppgifter. När användaren har autentiserats i webbprogrammet kan programmet hämta en auktoriseringskod för användaren från Microsoft Entra-ID. Webbprogrammet kan sedan använda ADAL för att hämta en åtkomsttoken och uppdatera token för en användares räkning med hjälp av auktoriseringskoden och klientautentiseringsuppgifterna som är associerade med programmet från Microsoft Entra-ID. När webbappen har åtkomsttoken kan den anropa webb-API:et tills token upphör att gälla. När token upphör att gälla kan webbprogrammet använda ADAL för att hämta en ny åtkomsttoken med hjälp av den uppdateringstoken som togs emot tidigare. Ett kodexempel som visar det här scenariot finns i Intern klient till webb-API till webb-API.