Не удается получить доступ к https://dev.azure.com/<myOrg> с использованием расширенного клиента TFS версии 15 - PullRequest
0 голосов
/ 03 мая 2019

Мы переносим некоторый код, который раньше выполнялся на локальном сервере TFS, но теперь должен работать с DevOps Azure (ранее Team Services).Учетные данные, которые я использую, были проверены для успешной проверки подлинности в нашем экземпляре организации DevOps, но после запуска следующего кода после ссылки на

Microsoft.TeamFoundationServer.ExtendedClient

NuGetпакет всегда приводит к TF30063: You are not authorized to access https://dev.azure.com/<myOrg> Код размещен ниже для аутентификации через неинтерактивную аутентификацию.Нужно ли использовать другой механизм аутентификации или другой тип учетных данных, чтобы это работало?

System.Net.NetworkCredential networkCredential = new System.Net.NetworkCredential(_userName, DecryptedPassword, _domain);
try
{
    // Create TeamFoundationServer object
    _teamFoundationCollection = new TfsTeamProjectCollection(_serverUrl, networkCredential);
    _teamFoundationCollection.Authenticate();
}
catch (Exception ex)
{
    // Not authorized
        throw new TeamFoundationServerException(ex.Message, ex.InnerException)
}

1 Ответ

0 голосов
/ 06 мая 2019

Поскольку вы хотите использовать клиентские библиотеки .Net, вы можете обратиться по следующей ссылке:

https://docs.microsoft.com/en-us/azure/devops/integrate/concepts/dotnet-client-libraries?view=azure-devops

Шаблоны для использования:

using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.Client;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.VisualStudio.Services.WebApi;

const String c_collectionUri = "https://dev.azure.com/fabrikam";
const String c_projectName = "MyGreatProject";
const String c_repoName = "MyRepo";

// Interactively ask the user for credentials, caching them so the user isn't constantly prompted
VssCredentials creds = new VssClientCredentials();
creds.Storage = new VssClientCredentialStorage();

// Connect to Azure DevOps Services
VssConnection connection = new VssConnection(new Uri(c_collectionUri), creds);

// Get a GitHttpClient to talk to the Git endpoints
GitHttpClient gitClient = connection.GetClient<GitHttpClient>();

// Get data about a specific repository
var repo = gitClient.GetRepositoryAsync(c_projectName, c_repoName).Result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...