Wybieranie odpowiedniego mechanizmu uwierzytelniania

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

W przypadku aplikacji interfejsu z usługami Azure DevOps Services należy uwierzytelnić się, aby uzyskać dostęp do zasobów, takich jak interfejsy API REST. Ten artykuł zawiera wskazówki ułatwiające wybór odpowiedniego mechanizmu uwierzytelniania dla aplikacji.

W poniższej tabeli przedstawiono zalecany mechanizm uwierzytelniania dla różnych typów aplikacji. Zapoznaj się z następującymi podstawowymi opisami, przykładami i przykładami kodu, aby rozpocząć pracę.

Typ aplikacji opis Przykład Mechanizm uwierzytelniania Przykłady kodu
Interaktywna strona klienta (REST) Aplikacja kliencka umożliwiająca interakcję użytkownika wywołującą interfejsy API REST usługi Azure DevOps Services Aplikacja konsolowa wyliczając projekty w organizacji Biblioteka Microsoft Authentication Library (MSAL) Przykładowe
Interaktywna strona klienta (biblioteka klienta) Aplikacja kliencka, która umożliwia interakcję użytkownika z wywoływaniem bibliotek klienckich usługi Azure DevOps Services Aplikacja konsolowa wylicza błędy przypisane do bieżącego użytkownika Biblioteki klienckie Przykładowe
Interaktywny kod JavaScript Aplikacja JavaScript oparta na graficznym interfejsie użytkownika Aplikacja jednostronicowa AngularJS wyświetlającą informacje o projekcie dla użytkownika Biblioteka uwierzytelniania firmy Microsoft dla języka JavaScript (MSAL JS) Przykładowe
Osobisty token dostępu (PAT) Token elementu nośnego w celu uzyskania dostępu do własnych zasobów Użyj swojego tokenu dostępu zamiast hasła. Pats
Nieinterakcyjne po stronie klienta Bezgłowy tekst tylko aplikacja po stronie klienta Aplikacja konsolowa z wyświetlonymi wszystkimi usterkami przypisanymi do użytkownika Profil urządzenia Przykładowe
Interaktywna aplikacja po stronie klienta przeznaczona dla usługi Azure DevOps Aplikacja kliencka umożliwiająca interakcję użytkownika uwierzytelnia użytkowników usługi Azure DevOps Aplikacja konsolowa umożliwiająca użytkownikom usługi Azure DevOps wyświetlanie przypisanych usterek Biblioteka klienta (uwierzytelnianie interakcyjne i windows) Przykładowe
Interaktywna sieć Web Aplikacja internetowa oparta na graficznym interfejsie użytkownika, która wymaga zgody użytkownika Niestandardowy pulpit nawigacyjny sieci Web wyświetlający podsumowania kompilacji Azure DevOps OAuth Przykładowe
Jednostki usługi lub tożsamości zarządzane Aplikacja z dostępem do zasobów usługi Azure DevOps organizacji Funkcja platformy Azure umożliwiająca tworzenie elementów roboczych Jednostki usługi i tożsamości zarządzane Przykładowe
Aplikacja usługi Azure DevOps Server Aplikacja usługi Azure DevOps Server korzystająca z biblioteki pakietu OM klienta Rozszerzenie usługi Azure DevOps Server wyświetlające pulpity nawigacyjne błędów zespołu Biblioteki klienta Przykładowe
Rozszerzenie usług Azure DevOps Services Rozszerzenie usługi Azure DevOps Services Karty Agile Zestaw SDK rozszerzenia sieci Web usługi VSS Przykładowe

Aby zapoznać się z głównymi pojęciami dotyczącymi zabezpieczeń i tożsamości w usłudze Azure DevOps, zobacz About security and identity (Informacje o zabezpieczeniach i tożsamościach). Aby dowiedzieć się więcej na temat sposobu przechowywania poświadczeń, zobacz Magazyn poświadczeń dla usługi Azure DevOps.

Włączanie uwierzytelniania podstawowego usług IIS powoduje unieważnienie przy użyciu paT dla usługi Azure DevOps Server

Aby uzyskać więcej informacji, zobacz Using IIS Basic Authentication with Azure DevOps on-premises (Używanie uwierzytelniania podstawowego usług IIS z lokalną usługą Azure DevOps).

Często zadawane pytania (FAQ)

Pyt.: Dlaczego jedno z moich kont usług nie może uzyskać dostępu do interfejsu API REST usługi Azure DevOps?

1: Twoje konto usługi może nie mieć "zmaterializowanego". Ponieważ logowanie nie jest możliwe przy użyciu konta usługi, które nie ma uprawnień do logowania interakcyjnego, zapoznaj się z tym obejściem.

Pyt.: Robię interaktywną aplikację po stronie klienta. Czy należy używać bibliotek klienckich usług Azure DevOps Services lub interfejsów API REST usługi Azure DevOps Services?

1: Zalecamy używanie bibliotek klienckich usługi Azure DevOps Services za pośrednictwem interfejsów API REST podczas uzyskiwania dostępu do zasobów usługi Azure DevOps Services. Są one prostsze i łatwiejsze w utrzymaniu, gdy wystąpią zmiany wersji w naszych punktach końcowych REST. Jeśli w bibliotekach klienckich brakuje funkcji, biblioteka MSAL jest najlepszym mechanizmem uwierzytelniania używanym z naszymi interfejsami API REST.

Pyt.: Czy te wskazówki dotyczą tylko usług Azure DevOps Services, czy są również istotne dla lokalnych użytkowników usługi Azure DevOps Server?

1: Te wskazówki dotyczą głównie użytkowników usługi Azure DevOps Services. Biblioteki klienckie to seria pakietów utworzonych specjalnie na potrzeby rozszerzania funkcji usługi Azure DevOps Server. W przypadku użytkowników lokalnych zalecamy użycie bibliotek klienckich, uwierzytelniania systemu Windows lub osobistych tokenów dostępu (PAT) w celu uwierzytelnienia użytkownika.

Pyt.: Co zrobić, jeśli chcę, aby moja aplikacja uwierzytelniła się zarówno za pomocą usługi Azure DevOps Server, jak i usługi Azure DevOps Services?

1: Najlepszym rozwiązaniem jest posiadanie różnych ścieżek uwierzytelniania dla usług Azure DevOps Server i Azure DevOps Services. Możesz użyć obiektu requestContext, aby dowiedzieć się, które trafisz, a następnie użyć najlepszego mechanizmu dla każdego z nich. Zamiast tego, jeśli chcesz ujednolicone rozwiązanie, usługi PATs działają dla obu tych rozwiązań.