Microsofts identitetsplattform autentiseringsbibliotek
Följande tabeller visar stöd för Microsoft-autentiseringsbibliotek för flera programtyper. De innehåller länkar till bibliotekets källkod, var du hämtar paketet för appens projekt och om biblioteket stöder användarinloggning (autentisering), åtkomst till skyddade webb-API:er (auktorisering) eller båda.
Microsofts identitetsplattform har certifierats av OpenID Foundation som en certifierad OpenID-provider. Om du föredrar att använda ett annat bibliotek än Microsoft Authentication Library (MSAL) eller ett annat Microsoft-bibliotek som stöds väljer du ett med en certifierad OpenID Connect-implementering.
Om du väljer att handkoda din egen implementering på protokollnivå av OAuth 2.0 eller OpenID Connect 1.0 bör du vara noga med säkerhetsövervägandena i varje standardspecifikation och följa säkra metoder för programvarudesign och utveckling som de i Microsoft SDL.
Ensidesprogram (SPA)
Ett ensidesprogram körs helt i webbläsaren och hämtar siddata (HTML, CSS och JavaScript) dynamiskt eller vid programinläsning. Den kan anropa webb-API:er för att interagera med serverdelsdatakällor.
Eftersom en SPA-kod körs helt i webbläsaren anses den vara en offentlig klient som inte kan lagra hemligheter på ett säkert sätt.
Språk/ramverk | Projekt på GitHub |
Paket | Få komma igång |
Logga in användare | Åtkomst till webb-API:er | Allmänt tillgänglig (GA) eller Offentlig förhandsversion1 |
---|---|---|---|---|---|---|
Angular | MSAL Angular v22 | msal-angular | Snabbstart | Allmän tillgänglighet | ||
Angular | MSAL Angular3 | msal-angular | — | Allmän tillgänglighet | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Offentlig förhandsversion | ||
JavaScript | MSAL.js v22 | msal-browser | Självstudie | Allmän tillgänglighet | ||
JavaScript | MSAL.js 1.03 | msal-core | — | Allmän tillgänglighet | ||
React | MSAL React2 | msal-react | Snabbstart | Allmän tillgänglighet |
1 Universella licensvillkor för onlinetjänster gäller för bibliotek i offentlig förhandsversion.
2 Auth-kodflöde med endast PKCE (rekommenderas).
3 Endast implicit beviljandeflöde (rekommenderas inte).
Webbprogram
Ett webbprogram kör kod på en server som genererar och skickar HTML, CSS och JavaScript till en användares webbläsare som ska renderas. Användarens identitet underhålls som en session mellan användarens webbläsare (klientdelen) och webbservern (serverdelen).
Eftersom en webbapps kod körs på webbservern anses den vara en konfidentiell klient som kan lagra hemligheter på ett säkert sätt.
Språk/ramverk | Projekt på GitHub |
Paket | Få komma igång |
Logga in användare | Åtkomst till webb-API:er | Allmänt tillgänglig (GA) eller Offentlig förhandsversion1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | — | Allmän tillgänglighet | ||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | Allmän tillgänglighet |
ASP.NET Core | ASP.NET Core | Microsoft.AspNetCore.Authentication | Snabbstart | Allmän tillgänglighet | ||
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Snabbstart | Allmän tillgänglighet | ||
Java | MSAL4J | msal4j | Snabbstart | Allmän tillgänglighet | ||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Självstudie | Allmän tillgänglighet | ||
Node.js | MSAL-nod | msal-node | Snabbstart | Allmän tillgänglighet | ||
Python | MSAL Python | msal | Allmän tillgänglighet | |||
Python | identitet | identitet | Snabbstart | -- |
(1) Universella licensvillkor för onlinetjänster gäller för bibliotek i offentlig förhandsversion.
(2) Microsoft.IdentityModel-biblioteket validerar endast token – det kan inte begära ID eller åtkomsttoken.
Skrivbordsprogram
Ett skrivbordsprogram är vanligtvis binär (kompilerad) kod som visar ett användargränssnitt och är avsett att köras på en användares skrivbord.
Eftersom ett skrivbordsprogram körs på användarens skrivbord betraktas det som en offentlig klient som inte kan lagra hemligheter på ett säkert sätt.
Språk/ramverk | Projekt på GitHub |
Paket | Få komma igång |
Logga in användare | Åtkomst till webb-API:er | Allmänt tillgänglig (GA) eller Offentlig förhandsversion1 |
---|---|---|---|---|---|---|
Elektron | MSAL-Node.js | msal-node | — | Offentlig förhandsversion | ||
Java | MSAL4J | msal4j | — | Allmän tillgänglighet | ||
macOS (Swift/Obj-C) | MSAL för iOS och macOS | MSAL | Självstudie | Allmän tillgänglighet | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Självstudie | Allmän tillgänglighet | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Självstudie | Allmän tillgänglighet |
1 Universella licensvillkor för onlinetjänster gäller för bibliotek i offentlig förhandsversion.
Mobilprogram
Ett mobilprogram är vanligtvis binär (kompilerad) kod som visar ett användargränssnitt och är avsett att köras på en användares mobila enhet.
Eftersom ett mobilprogram körs på användarens mobila enhet anses det vara en offentlig klient som inte kan lagra hemligheter på ett säkert sätt.
Plattform | Projekt på GitHub |
Paket | Få komma igång |
Logga in användare | Åtkomst till webb-API:er | Allmänt tillgänglig (GA) eller Offentlig förhandsversion1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | Snabbstart | Allmän tillgänglighet | ||
Android (Kotlin) | MSAL Android | MSAL | — | Allmän tillgänglighet | ||
iOS (Swift/Obj-C) | MSAL för iOS och macOS | MSAL | Självstudie | Allmän tillgänglighet | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | Allmän tillgänglighet |
1 Universella licensvillkor för onlinetjänster gäller för bibliotek i offentlig förhandsversion.
Tjänst/daemon
Tjänster och daemoner används ofta för server-till-server och annan obevakad (kallas ibland huvudlös) kommunikation. Eftersom det inte finns någon användare på tangentbordet som anger autentiseringsuppgifter eller medgivande till resursåtkomst autentiseras dessa program som sig själva, inte en användare, när de begär auktoriserad åtkomst till ett webb-API:s resurser.
En tjänst eller daemon som körs på en server anses vara en konfidentiell klient som kan lagra sina hemligheter på ett säkert sätt.
Språk/ramverk | Projekt på GitHub |
Paket | Få komma igång |
Logga in användare | Åtkomst till webb-API:er | Allmänt tillgänglig (GA) eller Offentlig förhandsversion1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | Snabbstart | Allmän tillgänglighet | ||
Java | MSAL4J | msal4j | — | Allmän tillgänglighet | ||
Nod | MSAL-nod | msal-node | Snabbstart | Allmän tillgänglighet | ||
Python | MSAL Python | msal-python | Snabbstart | Allmän tillgänglighet |
1 Universella licensvillkor för onlinetjänster gäller för bibliotek i offentlig förhandsversion.
Nästa steg
Mer information om Microsofts autentiseringsbibliotek finns i Översikt över Microsoft Authentication Library (MSAL).