Verdaccio

Verdaccio

  • Документация
  • Блог
  • Twitter
  • Помощь
  • GitHub
  • Contributors
  • Sponsor Us
  • Languages iconRussian
    • English
    • Español
    • Français
    • 中文
    • Yoruba
    • Помочь перевести

›Features

Введение

  • Что такое Verdaccio?
  • Установка
  • Инструмент командной строки
  • Using a private registry
  • Кто использует Verdaccio?
  • Политика безопасности
  • Логотип
  • Uses Cases

    • End to End тестирование
    • Стратегии кэширования
    • GitHub Actions
    • Связь с удалённым репозиторием

    Talks & Articles

    • Статьи
    • Выступления

Features

  • Файл конфигурации
  • Аплинки
  • Доступ к пакетам
  • Аутентификация
  • Уведомления
  • Логи
  • Веб-интерфейс пользователя

Сервер

  • Конфигурация сервера
  • Настройка reverse proxy
  • Настройка SSL-сертификатов
  • Установка в качестве службы Windows
  • Установка на IIS сервер

Разработка

  • Плагины
  • Разработка плагинов
  • Dev Guides

    • Plugin Generator
    • Плагин аутентификации
    • Middleware плагин
    • Плагин хранилища
  • Node API

DevOps

  • Docker
  • Kubernetes
  • Непрерывная интеграция (CI)
  • Cloud

    • Amazon Web Services

    Tools

    • Ansible
    • Puppet
    • Поваренная книга

Руководства

  • Лучшие практики
  • Защита пакетов
  • Amazon Web Services
Translate

Аутентификация

The authentication is tied to the auth plugin you are using. The package restrictions are also handled by the Package Access.

The client authentication is handled by the npm client itself. Once you log in to the application:

npm adduser --registry http://localhost:4873

В файле конфигурации npm, расположенном в домашней директории пользователя, генерируется токен. Больше информации о .npmrc читайте в официальной документации.

cat .npmrc
registry=http://localhost:5555/
//localhost:5555/:_authToken="secretVerdaccioToken"
//registry.npmjs.org/:_authToken=secretNpmjsToken

Анонимная публикация

verdaccio allows you to enable anonymous publish. To achieve that you will need to correctly set up your packages access.

Например:

  'my-company-*':
    access: $anonymous
    publish: $anonymous
    proxy: npmjs

Как описано в issue #212 до npm@5.3.0, включая все минорные релизы, не позволят вам публикацию без токенов.

О группах

Как понимать $all и $anonymous

As you know Verdaccio uses htpasswd by default. Этот плагин не реализует методы allow_access, allow_publish и allow_unpublish. И Verdaccio будет действовать таким образом:

  • Если вы не залогинены (вы - аноним), $all and $anonymous означают одно и то же.
  • If you are logged in, $anonymous won't be part of your groups and $all will match any logged user. A new group $authenticated will be added to your group list.

Please note: $all will match all users, whether logged in or not.

Все описанное выше - только про плагин аутентификации по умолчанию. Если вы используете кастомный плагин и этот плагин реализует allow_access, allow_publish или allow_unpublish, то разрешения будут зависет от этого вашего плагина. Verdaccio установит только группы по умолчанию.

Отметим еще раз:

  • logged in: $all and $authenticated + groups added by the plugin.
  • logged out (anonymous): $all and $anonymous.

Стандартный htpasswd

In order to simplify the setup, verdaccio uses a plugin based on htpasswd. Since version v3.0.x the verdaccio-htpasswd plugin is used by default.

auth:
  htpasswd:
    file: ./htpasswd
    # Максимальное количество пользователей, которые могут зарегистрироваться. По умолчанию "+inf".
    # Вы можете установить -1 для отключения регистрации пользователей.
    #max_users: 1000
СвойствоТипОбязательноеПримерПоддержкаОписание
filestringДа./htpasswdвсефайл, содержащий зашифрованные учетные данные
max_usersnumberНет1000всеограничение на количество пользователей

In case you decide to prevent users from signing up themselves, you can set max_users: -1.

← Доступ к пакетамУведомления →
  • О группах
    • Как понимать $all и $anonymous
  • Стандартный htpasswd
Verdaccio
Docs
Getting StartedDockerConfigurationLogos
Community
User ShowcaseStack OverflowProject ChatFollow Verdaccio on Twitter
More
BlogGitHubStar