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 | Biblioteka Microsoft Authentication Library (MSAL) | próbka |
Interaktywna aplikacja po stronie klienta (biblioteki klienckie) | 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 | próbka |
Interaktywna aplikacja 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) | próbka |
Interaktywna aplikacja internetowa OAuth | Aplikacja internetowa oparta na graficznym interfejsie użytkownika, która wymaga zgody użytkownika | Niestandardowy pulpit nawigacyjny sieci Web wyświetlający podsumowania kompilacji | OAuth | 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 |
Aplikacja jednostki usługi | 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 | próbka |
Rozszerzenie sieci Web | Rozszerzenie usługi Azure DevOps Services | Rozszerzenie Agile Cards | Zestaw SDK rozszerzenia sieci Web usługi VSS | próbka |
Aby uzyskać więcej informacji, zobacz następujące artykuły:
- Informacje o zabezpieczeniach i tożsamościach.
- Uwierzytelnianie OAuth
- Jednostki usługi i tożsamości zarządzane
- Biblioteki klienta usługi Azure DevOps
- Rozszerzenia usługi Azure DevOps
- Omówienie ochrony danych 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)
.: 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ń.