Для аутентификации в Galleon используются пароль и токен пользователя; как устроена модель доступа, описано в разделе Управление доступом.
Пароль
Пароль используется для входа в веб-интерфейс. Сменить его можно в профиле: меню аватара → «Профиль» → «Смена пароля» (требуется текущий пароль). Если администратор потребовал смену пароля, до её завершения остальные действия в веб-интерфейсе заблокированы.
Токен пользователя
В клиентах командной строки и CI вместо пароля используйте токен: он подставляется как обычная пара «логин и пароль», а при компрометации отзывается без смены пароля учётной записи.
Чтобы создать токен, выполните следующие действия:
- Откройте «Профиль», секцию «Токен пользователя».
- Нажмите «Выпустить».
- Сохраните показанные значения: «Name code» используйте как логин, «Pass code» — как пароль.
Pass code показывается только один раз — сразу после создания. Если значение утеряно, перевыпустите токен кнопкой «Перевыпустить».
У каждого пользователя может быть один действующий токен:
- «Перевыпустить» выпускает новый токен вместо старого — старые учётные данные перестают работать сразу;
- «Удалить» отзывает токен без выпуска нового.
Использование в клиентах
Токен (или пароль) подставляется везде, где клиент формата ожидает логин и пароль:
в docker login, settings.xml Maven, .npmrc, ~/.pypirc, ~/.netrc и других.
Готовые примеры для каждого клиента — в разделе Форматы.
RubyGems (файл ~/.gem/credentials) и Cargo (команда cargo login)
принимают учётные данные готовой строкой заголовка авторизации Basic <BASE64>,
где <BASE64> — строка <USERNAME>:<PASSWORD> в кодировке base64.
Подробности — на страницах RubyGems и Cargo.
Если клиент получает ошибку
Ответ 401 означает, что учётные данные не приняты: чаще всего токен перевыпущен
кнопкой «Перевыпустить» или удалён кнопкой «Удалить», и старые значения перестали работать.
Ответ 403 означает нехватку привилегии на операцию — за правами обратитесь к администратору.
Ответ 404 приходит и при отсутствии артефакта, и при отсутствии прав доступа
(Управление доступом),
а у proxy-репозиториев — ещё и из кеша отказов
(Проксирование и кеширование).