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 certyfikowanym identyfikatorem OpenID Połączenie implementacją.

Jeśli zdecydujesz się ręcznie kodować własną implementację na poziomie protokołu OAuth 2.0 lub OpenID Połączenie 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 Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Angular MsAL Angular3 msal-angular Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
AngularJS MSAL AngularJS3 msal-angularjs Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Publiczna wersja zapoznawcza
JavaScript MSAL.js 2 msal-browser Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
JavaScript MSAL.js 1.03 msal-core Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
React MSAL React2 msal-react Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność

1Uniwersalne postanowienia licencyjne dotyczące usług online mają zastosowanie do bibliotek w publicznej wersji zapoznawczej.

2Przepływ kodu uwierzytelniania tylko z kluczem PKCE (zalecane).

3Tylko niejawny przepływ udzielania.

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 Biblioteka nie może zażądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
.NET Microsoft.IdentityModel Microsoft.IdentityModel Biblioteka nie może zażądać tokenów identyfikatorów logowania użytkownika.2 Biblioteka nie może żądać tokenów dostępu dla chronionych internetowych interfejsów API.2 Ogólna dostępność
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication Szybki start Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka nie może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Szybki start Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Java MSAL4J msal4j Szybki start Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Node.js Węzeł BIBLIOTEKI MSAL msal-node Szybki start Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Python MSAL Python msal Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Python Tożsamości Tożsamości Szybki start Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. --

(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 Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Publiczna wersja zapoznawcza
Java MSAL4J msal4j Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
macOS (Swift/Obj-C) Biblioteka MSAL dla systemów iOS i macOS BIBLIOTEKA MSAL Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Platforma UWP MSAL.NET Microsoft.Identity.Client Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
WPF MSAL.NET Microsoft.Identity.Client Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność

1Uniwersalne 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 Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Android (Kotlin) MSAL Android BIBLIOTEKA MSAL Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
iOS (Swift/Obj-C) Biblioteka MSAL dla systemów iOS i macOS BIBLIOTEKA MSAL Samouczek Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client Biblioteka może żądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność

1Uniwersalne 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 Biblioteka nie może zażądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Java MSAL4J msal4j Biblioteka nie może zażądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Węzeł Węzeł BIBLIOTEKI MSAL msal-node Szybki start Biblioteka nie może zażądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność
Python MSAL Python msal-python Szybki start Biblioteka nie może zażądać tokenów identyfikatorów logowania użytkownika. Biblioteka może żądać tokenów dostępu dla chronionych internetowych interfejsów API. Ogólna dostępność

1Uniwersalne 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).