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 zalecane mechanizmy uwierzytelniania dla różnych typów 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 | próbka |
Interaktywna aplikacja po stronie klienta (biblioteki klienckie) | Aplikacja kliencka umożliwiająca użytkownikowi interakcję przez wywoływanie bibliotek klienckich usługi Azure DevOps Services | Aplikacja konsolowa wylicza błędy przypisane do bieżącego użytkownika | Biblioteki klienckie | 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 | Profil 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 tokenu dostępu zamiast hasła dla żądań REST. Nie jest idealnym rozwiązaniem do tworzenia aplikacji. | Pats | docs |
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 |
Jednostka usługi lub tożsamość zarządzana | Tożsamość aplikacji 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 | próbka |
Rozszerzenie sieci Web | usługi Azure DevOps rozszerzenia | Rozszerzenie Agile Cards | Zestaw SDK rozszerzenia sieci Web usługi VSS | próbka |
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ń.