Как получить PAT из локальной сети TFS2015

Мы хотим перенести наши пользовательские шаги из сборки XAML в новую задачу сборки в TFS2015 по существу. Я установил NodeJS и tfx-cli, но когда tfx-cli хочет подключиться к TFS, мне нужно предоставить pat (токен личного доступа), но я не могу найти, где я могу его получить. Все образцы для VSO, но не для TFS2015 на месте. Можно ли получить PAT из локального TFS2015?

Ответ 1

TFS 2015 не поддерживает токены персонального доступа, эта функция была введена с TFS 2017. В то же время вам нужно либо настроить базовое auth, либо использовать его (только включить базовый auth, если ваш сервер TFS работает через SSL ) Или используйте трюк ниже, чтобы обмануть инструменты удержания команды для аутентификации с помощью lettign прокси-сервера NTLM (например, Fiddler) обрабатывать auth для вас.

Если вы не хотите настраивать базовую проверку подлинности на своем сервере TFS (что многие люди не хотят из-за проблем с безопасностью), вы можете использовать опрятный трюк, чтобы позволить Fiddler обрабатывать вашу аутентификацию:

введите описание изображения здесь

Затем введите:

C:\>set http_proxy=http://localhost:8888
C:\>tfx login --auth-type basic --service-url http://jessehouwing:8080/tfs/DefaultCollection

Вам будет предложено ввести имя пользователя и пароль, на самом деле не имеет значения, что вы вводите, скрипт будет обрабатывать аутентификацию для вас в фоновом режиме:

Более подробные шаги, описанные в моем блоге.

Если вы боретесь с самозаверяющими сертификатами, что также является распространенной проблемой при использовании tfx на локальном сервере TFS, убедитесь, что вы используете достаточно недавнюю версию Node и указываете ее на дополнительный cert с использованием переменных среды:

В соответствии с Node.js 7.3.0 (и версиями LTS 6.10.0 и 4.8.0) теперь можно добавить дополнительные хорошо известные сертификаты в Node.js с переменной окружения. Это может быть полезно в облачных или других средах развертывания для добавления доверенных сертификатов в качестве политики (в отличие от явного кодирования) или на персональных компьютерах, например, для добавления центров сертификации для прокси-серверов. См. документацию по CLI для получения дополнительной информации об использовании NODE_EXTRA_CA_CERTS, а также оригинального запроса pull.

NODE_EXTRA_CA_CERTS = файл #

Добавлено в: v7.3.0

Когда установлено, известные "корневые" ЦС (например, VeriSign) будут расширены дополнительными сертификатами в файле. Файл должен состоять из одного или нескольких доверенных сертификатов в формате PEM. Сообщение будет выведено (один раз) с помощью process.emitWarning(), если файл отсутствует или искажен, но любые ошибки игнорируются.

Обратите внимание, что ни известные, ни дополнительные сертификаты не используются, когда свойство ca options явно указано для клиента или сервера TLS или HTTPS.

Ответ 2

Существует еще одна опция для tfx-cli для подключения к экземпляру TFS, и это базовая аутентификация. Просто используйте следующий формат:

tfx login --auth-type basic --username myuser --password mypassword --service-url http://tfscollectionurl

Вот цитата из Github:

В качестве альтернативы вы можете использовать базовый auth, передав - auth-type basic(читайте Конфигурирование Basic Auth). NTLM скоро появится.

Примечание. Использование этой функции сохранит ваши учетные данные на диске в простой текст.