Класс TfsTeamProjectCollection
взят из старых библиотек .Net, попробуйте новые библиотеки Azure DevOps .Net , и вы можете пройти проверку подлинности несколькими способами:
NTLM
Самый базовый - это создание экземпляра VssCredentials без каких-либо параметров, и то, что вы будете использовать, это просто встроенная аутентификация / NTLM:
var visualStudioServicesConnection = new VssConnection(new Uri(baseUri), new VssCredentials());
Базовая аутентификация
VSTS и TFS также предоставляют средства для использования базовой аутентификации (HTTP AUTH), которую необходимо сначала создать и включить ( см. Рекомендации VSTS ), и как только вы это сделаете, вы сможете использовать их через API, как это:
var visualStudioServicesConnection = new VssConnection(new Uri(baseUri), new VssBasicCredential(username, password));
токены личного доступа
Далее следуют персональные токены доступа (PAT), которые вы можете легко создавать , следуя рекомендациям VSTS, и эти PAT являются средством аутентификации отдельно от ваших фактических учетных данных с помощью детализированных областей доступа и маркеров доступа. безопасности. Проще говоря, это позволяет вам создавать PAT для каждого варианта использования или даже приложения и, таким образом, обеспечивает безопасный и четко отделенный способ предоставления приложению или третьему лицу доступа к вашей системе VSTS или TFS от вашего имени.
Чтобы использовать их через API, вы используете тот же механизм, что и при базовой аутентификации, но вы просто не предоставляете никакого имени пользователя (ну, точнее, пустого), а сам PAT используется в качестве пароля:
var visualStudioServicesConnection = new VssConnection(new Uri(baseUri), new VssBasicCredential(string.Empty, pat));
Приглашение для входа в Visual Studio
Более того, другой способ аутентификации - использование стандартной подсказки VS Sign-In, которая также проста и доступна через класс VssClientCredentials :
var visualStudioServicesConnection = new VssConnection(new Uri(baseUri), new VssClientCredentials());
OAuth-аутентификация
OAuth - это широко используемый, но немного более утомительный протокол авторизации для реализации, но, к счастью, в CodePlex есть подробный пример приложения, специально предназначенного для VSTS / VSO (который также работает для локальных систем).
Когда у вас есть соответствующий токен доступа, вы можете использовать его для VSTS / TFS, используя VssOAuthCredential класс:
var visualStudioServicesConnection = new VssConnection(new Uri(baseUri), new VssOAuthCredential(accessToken));
Аутентификация Azure Active Directory
И последнее, но не менее важное: вы можете использовать удостоверения Azure Active Directory для аутентификации в системе VSTS или TFS через класс VssAadCredential:
var visualStudioServicesConnection = new VssConnection(new Uri(baseUri), new VssAadCredential(username, password));