biblioteki uwierzytelniania Platforma tożsamości Microsoft
W poniższych tabelach przedstawiono obsługę biblioteki uwierzytelniania firmy Microsoft dla kilku typów aplikacji. Zawierają one linki do kodu źródłowego biblioteki, gdzie można pobrać pakiet dla projektu aplikacji oraz to, czy biblioteka obsługuje logowanie użytkownika (uwierzytelnianie), dostęp do chronionych internetowych interfejsów API (autoryzacja) lub obu tych elementów.
Platforma tożsamości Microsoft został certyfikowany przez OpenID Foundation jako certyfikowany dostawca OpenID. Jeśli wolisz używać biblioteki innej niż biblioteka Microsoft Authentication Library (MSAL) lub innej biblioteki obsługiwanej przez firmę Microsoft, wybierz bibliotekę z certyfikowaną implementacją openID Connect.
Jeśli zdecydujesz się ręcznie kodować własną implementację na poziomie protokołu OAuth 2.0 lub OpenID Connect 1.0, należy zwrócić szczególną uwagę na zagadnienia dotyczące zabezpieczeń w specyfikacji każdego standardu i przestrzegać bezpiecznych rozwiązań projektowych i programistycznych, takich jak te w języku Microsoft SDL.
Aplikacja jednostronicowa (SPA)
Aplikacja jednostronicowa działa w całości w przeglądarce i pobiera dane strony (HTML, CSS i JavaScript) dynamicznie lub w czasie ładowania aplikacji. Może wywoływać internetowe interfejsy API w celu interakcji ze źródłami danych zaplecza.
Ponieważ kod SPA działa w całości w przeglądarce, jest uważany za klienta publicznego, który nie może bezpiecznie przechowywać wpisów tajnych.
Język/struktura | Projekt w dniu GitHub |
Pakiet | Coraz pracę |
Logowanie użytkowników | Dostęp do interfejsów API sieci Web | Ogólnie dostępne (ogólna dostępność) lub Publiczna wersja zapoznawcza1 |
---|---|---|---|---|---|---|
Angular | MSAL Angular v2 2 | msal-angular | Szybki start | Ogólna dostępność | ||
Angular | MsAL Angular3 | msal-angular | — | Ogólna dostępność | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Publiczna wersja zapoznawcza | ||
JavaScript | MSAL.js 2 | msal-browser | Samouczek | Ogólna dostępność | ||
JavaScript | MSAL.js 1.03 | msal-core | — | Ogólna dostępność | ||
React | MSAL React2 | msal-react | Szybki start | Ogólna dostępność |
1 Uniwersalne postanowienia licencyjne dotyczące usług online mają zastosowanie do bibliotek w publicznej wersji zapoznawczej.
2 Przepływ kodu uwierzytelniania tylko z kluczem PKCE (zalecane).
3 Tylko niejawny przepływ udzielania (niezalecane).
Aplikacja sieci Web
Aplikacja internetowa uruchamia kod na serwerze, który generuje i wysyła kod HTML, CSS i JavaScript do przeglądarki internetowej użytkownika do renderowania. Tożsamość użytkownika jest utrzymywana jako sesja między przeglądarką użytkownika (frontonem) a serwerem internetowym (zapleczem).
Ponieważ kod aplikacji internetowej działa na serwerze internetowym, jest uważany za poufnego klienta , który może bezpiecznie przechowywać wpisy tajne.
Język/struktura | Projekt w dniu GitHub |
Pakiet | Coraz pracę |
Logowanie użytkowników | Dostęp do interfejsów API sieci Web | Ogólnie dostępne (ogólna dostępność) lub Publiczna wersja zapoznawcza1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | — | Ogólna dostępność | ||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | Ogólna dostępność |
ASP.NET Core | ASP.NET Core | Microsoft.AspNetCore.Authentication | Szybki start | Ogólna dostępność | ||
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Szybki start | Ogólna dostępność | ||
Java | MSAL4J | msal4j | Szybki start | Ogólna dostępność | ||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Samouczek | Ogólna dostępność | ||
Node.js | Węzeł BIBLIOTEKI MSAL | msal-node | Szybki start | Ogólna dostępność | ||
Python | MSAL Python | msal | Ogólna dostępność | |||
Python | tożsamość | tożsamość | Szybki start | -- |
(1) Uniwersalne postanowienia licencyjne dotyczące usług online mają zastosowanie do bibliotek w publicznej wersji zapoznawczej.
(2) Biblioteka Microsoft.IdentityModel weryfikuje tylko tokeny — nie może żądać identyfikatora ani tokenów dostępu.
Aplikacja na pulpit
Aplikacja klasyczna jest zazwyczaj kodem binarnym (skompilowanym), który wyświetla interfejs użytkownika i ma być uruchamiany na pulpicie użytkownika.
Ponieważ aplikacja klasyczna działa na pulpicie użytkownika, jest uważany za klienta publicznego, który nie może bezpiecznie przechowywać wpisów tajnych.
Język/struktura | Projekt w dniu GitHub |
Pakiet | Coraz pracę |
Logowanie użytkowników | Dostęp do interfejsów API sieci Web | Ogólnie dostępne (ogólna dostępność) lub Publiczna wersja zapoznawcza1 |
---|---|---|---|---|---|---|
Electron | MSAL Node.js | msal-node | — | Publiczna wersja zapoznawcza | ||
Java | MSAL4J | msal4j | — | Ogólna dostępność | ||
macOS (Swift/Obj-C) | Biblioteka MSAL dla systemów iOS i macOS | BIBLIOTEKA MSAL | Samouczek | Ogólna dostępność | ||
Platforma UWP | MSAL.NET | Microsoft.Identity.Client | Samouczek | Ogólna dostępność | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Samouczek | Ogólna dostępność |
1 Uniwersalne postanowienia licencyjne dotyczące usług online mają zastosowanie do bibliotek w publicznej wersji zapoznawczej.
Aplikacja mobilna
Aplikacja mobilna jest zazwyczaj kodem binarnym (skompilowanym), który wyświetla interfejs użytkownika i ma być uruchamiany na urządzeniu przenośnym użytkownika.
Ponieważ aplikacja mobilna działa na urządzeniu przenośnym użytkownika, jest traktowana jako klient publiczny, który nie może bezpiecznie przechowywać wpisów tajnych.
Platforma | Projekt w dniu GitHub |
Pakiet | Coraz pracę |
Logowanie użytkowników | Dostęp do interfejsów API sieci Web | Ogólnie dostępne (ogólna dostępność) lub Publiczna wersja zapoznawcza1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | BIBLIOTEKA MSAL | Szybki start | Ogólna dostępność | ||
Android (Kotlin) | MSAL Android | BIBLIOTEKA MSAL | — | Ogólna dostępność | ||
iOS (Swift/Obj-C) | Biblioteka MSAL dla systemów iOS i macOS | BIBLIOTEKA MSAL | Samouczek | Ogólna dostępność | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | Ogólna dostępność |
1 Uniwersalne postanowienia licencyjne dotyczące usług online mają zastosowanie do bibliotek w publicznej wersji zapoznawczej.
Usługa/demon
Usługi i demony są często używane na potrzeby komunikacji między serwerami i innymi nienadzorowanym (czasem nazywanymi bezgłówkowymi). Ponieważ na klawiaturze nie ma żadnego użytkownika do wprowadzania poświadczeń lub wyrażania zgody na dostęp do zasobów, te aplikacje uwierzytelniają się jako siebie, a nie użytkownik, żądając autoryzowanego dostępu do zasobów internetowego interfejsu API.
Usługa lub demon, który działa na serwerze, jest uważany za poufnego klienta , który może bezpiecznie przechowywać swoje wpisy tajne.
Język/struktura | Projekt w dniu GitHub |
Pakiet | Coraz pracę |
Logowanie użytkowników | Dostęp do interfejsów API sieci Web | Ogólnie dostępne (ogólna dostępność) lub Publiczna wersja zapoznawcza1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | Szybki start | Ogólna dostępność | ||
Java | MSAL4J | msal4j | — | Ogólna dostępność | ||
Węzeł | Węzeł BIBLIOTEKI MSAL | msal-node | Szybki start | Ogólna dostępność | ||
Python | MSAL Python | msal-python | Szybki start | Ogólna dostępność |
1 Uniwersalne postanowienia licencyjne dotyczące usług online mają zastosowanie do bibliotek w publicznej wersji zapoznawczej.
Następne kroki
Aby uzyskać więcej informacji na temat biblioteki uwierzytelniania firmy Microsoft, zobacz Omówienie biblioteki Microsoft Authentication Library (MSAL).