Github - отправка кода с токеном личного доступа для имени пользователя и пароля работает

Когда я использовал свой PAT (токен личного доступа) в поле «Имя пользователя» и «Пароль», код был успешно отправлен.

Является ли это выпуск или Скрытая функция в Github использовать PAT как для имени пользователя и пароля?

PS: Я хотел бы использовать этот подход по некоторым причинам, так как я использую несколько учетных записей Github, которые нельзя добавить в конфигурацию системы. Но волновался, будет ли это стоить мер безопасности.

РЕДАКТИРОВАТЬ 1:

При использовании PAT поле имени пользователя просто игнорируется. Проверено путем предоставления неправильного имени пользователя с правильным PAT. Это сработало.

Может ли кто-нибудь объяснить, зачем кому-то реализовывать такую ​​функцию?

1 ответ

Решение

GitHub намеренно позволяет размещать токены в поле имени пользователя, а также в поле пароля, потому что иногда люди делают это, и это приятно, чтобы это работало. Самого токена достаточно для идентификации вас и предоставленного доступа, поэтому имя пользователя строго не требуется (и, если токен предоставлен, игнорируется). Фактически, вы также можете указать токен в имени пользователя с любым паролем.

Однако есть несколько причин, по которым вы всегда должны указывать его в поле пароля:

  • Многие программы не рассматривают имена пользователей как секретные и будут распечатывать их повсюду, что означает, что ваш токен внезапно появляется на вашем экране или в журналах. Это не очень хорошо, если вы находитесь в кафе или аэропорту или у вас есть общедоступные журналы. Программы обычно гораздо более осторожны с паролями.
  • В частности, помощники по учетным данным часто хранят имена пользователей в видимом виде или, в некоторых случаях, в незашифрованном виде, тогда как пароли хранятся надежно.
  • Если вы укажете свое имя пользователя в поле имени пользователя, вы можете выполнить процедуру, описанную в часто задаваемых вопросах Git, чтобы настроить, какая учетная запись используется, просто изменив имя пользователя в URL-адресе. Если вы используете токен в имени пользователя, это будет работать, но это будет означать, что ваш токен записан в виде открытого текста в вашем файле конфигурации, чего вы бы хотели избежать, и вам придется обновить каждый репозиторий, чтобы изменить URL-адрес. если ваш токен нуждается в обновлении, в отличие от имени пользователя.

Поэтому я бы не стал классифицировать это как проблему или скрытую особенность. Это сделано намеренно, но поскольку многие другие программы менее требовательны к безопасности имен пользователей, вероятно, лучше этого избежать.

Другие вопросы по тегам