Udostępnij za pośrednictwem


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 sugerowane koncepcje uwierzytelniania, które należy wziąć pod uwagę w przypadku różnych scenariuszy aplikacji. Zapoznaj się z towarzyszącymi opisami, przykładami i przykładami kodu, aby ułatwić rozpoczęcie pracy.

Typ aplikacji opis Przykład Mechanizm uwierzytelniania Przykłady kodu
Interaktywna aplikacja po stronie 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 OAuth z biblioteką Microsoft Authentication Library (MSAL) próbka
Interaktywna aplikacja po stronie klienta (biblioteki klienckie) Aplikacja kliencka umożliwiająca interakcję użytkownika wywołującą usługi Azure DevOps Services bibliotek klienckich Aplikacja konsolowa wylicza błędy przypisane do bieżącego użytkownika OAuth z bibliotekami klientów próbka
Nieinterakcyjne aplikacje po stronie klienta Bezgłowy tekst tylko aplikacja po stronie klienta Aplikacja konsolowa z wyświetlonymi wszystkimi usterkami przypisanymi do użytkownika Uwierzytelnianie OAuth z przepływem profilu urządzenia próbka
Osobisty token dostępu (PAT) Token elementu nośnego w celu uzyskania dostępu do własnych zasobów Użyj swojego osobistego tokenu dostępu (PAT) zamiast hasła do wywołań REST ad hoc. Nie jest idealnym rozwiązaniem dla aplikacji. Pats przykłady
Aplikacja serwera 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 próbka
Podmiot usługi lub tożsamość zarządzana Aplikacja z własną tożsamością Funkcja platformy Azure umożliwiająca tworzenie elementów roboczych Jednostki usługi i tożsamości zarządzane próbka
Rozszerzenie sieci Web usługi Azure DevOps rozszerzenia Rozszerzenie Agile Cards Zestaw SDK rozszerzenia sieci Web usługi VSS próbka

Napiwek

Uwierzytelnianie oparte na Entra jest naszym zaleceniem dla deweloperów, którzy chcą zintegrować się z usługą Azure DevOps Services, w przypadku korzystania z kont Microsoft Entra. Przykładowe aplikacje OAuth w tej tabeli korzystają z platformy tożsamości microsoft Entra na potrzeby tworzenia aplikacji.
Aby uwierzytelnić się przy użyciu kont Microsoft (MSA) lub kont użytkowników Azure DevOps Server, zapoznaj się z naszymi bibliotekami klienta lub PATs.
Przeczytaj więcej na naszym blogu o tym, jak zmniejszamy użycie PAT na naszej platformie.

Często zadawane pytania (FAQ)

.: Dlaczego moje konto usługi nie może uzyskać dostępu do interfejsu API REST usługi Azure DevOps?

1: Twoje konto usługi może nie mieć "zmaterializowanego". Konta usług bez uprawnień logowania interakcyjnego nie mogą się zalogować. Aby uzyskać więcej informacji, zobacz to obejście dla rozwiązania.

.: Czy należy używać bibliotek klienckich usług Azure DevOps Services lub interfejsów API REST usługi Azure DevOps Services dla mojej interaktywnej aplikacji po stronie klienta?

1: Zalecamy używanie bibliotek klienckich usług Azure DevOps Services za pośrednictwem interfejsów API REST w celu uzyskiwania dostępu do zasobów usługi Azure DevOps Services. Są one prostsze i łatwiejsze do utrzymania, gdy zmieniają się wersje punktów końcowych REST. Jeśli biblioteki klienckie nie mają pewnych funkcji, użyj biblioteki MSAL do uwierzytelniania za pomocą naszych interfejsów API REST.

.: 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. W przypadku użytkowników usługi Azure Devops Server zalecamy używanie bibliotek klienckich, uwierzytelniania systemu Windows lub osobistych tokenów dostępu (PAT) do uwierzytelniania.

.: 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 oddzielnych ścieżek uwierzytelniania dla usług Azure DevOps Server i Azure DevOps Services. Możesz użyć polecenia requestContext , aby określić, do której usługi uzyskujesz dostęp, a następnie zastosować odpowiedni mechanizm uwierzytelniania. Jeśli wolisz ujednolicone rozwiązanie, usługi PATs działają dla obu tych rozwiązań.