Как получить PAT из локального TFS2015


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

2 11

2 ответа:

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

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

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

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

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

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

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

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

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

NODE_EXTRA_CA_CERTS=file#

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

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

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

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

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

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

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

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