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ń.