Не удается пройти проверку подлинности в DevOps Azure с помощью токена личного доступа из приложения ASP.NET с использованием проверки подлинности Windows - PullRequest
0 голосов
/ 02 января 2019

У меня есть приложение ASP.NET MVC, которое использует клиентские библиотеки TFS для доступа к локальному серверу TFS.Приложение использует проверку подлинности Windows в домене Windows, а учетные данные по умолчанию используются при подключении к TFS.

Мне нужно расширить приложение, чтобы также получить доступ к организации Azure DevOps.Я попытался создать объект VSSConnecton и использовать токен личного доступа (PAT), например:

VssConnection connection = new VssConnection(accountUri, new VssBasicCredential(string.Empty, personalAccessToken));
WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();

PAT не используется.Учетные данные Windows пользователя передаются независимо от того, какую перегрузку я использую в методе VssBasicCredential.

Несмотря на то, что Azure AD синхронизируется из домена Windows AD, пользователь рассматривается как другой объект и нене имеет доступа к Azure DevOps.Поскольку пользователь Azure AD и локальный пользователь Windows имеют одинаковые имена пользователей (fname.lname@domain.com), я также не могу добавить локального пользователя Windows в качестве внешнего пользователя в Azure.

Есть ли способаутентифицироваться в DevOps Azure с использованием PAT (или других альтернативных учетных данных) из приложения ASP.NET с использованием аутентификации Windows?

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Это закончилось тем, что не было проблемы с кодом вообще.Код, указанный выше, работает даже при подключении к домену Windows AD.Во время тестирования я был подключен к сети через VPN, и, очевидно, с этим подключением возникла проблема, из-за которой не работала аутентификация.

0 голосов
/ 02 января 2019

Попробуйте выполнить аутентификацию с использованием учетных данных Azure AD:

VssConnection connection = new VssConnection(accountUri, new VssAadCredential(username, password));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...