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ń.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla