插件
Verdaccio是一个可插入式应用程序。 它可以通过多种方式扩展,可以是新的认证方法,添加端点或者使用定制存储。
There are 4 types of plugins:
使用
安装
$> npm install --global verdaccio-activedirectory
verdaccio
作为 sinopia 分支,它向后兼容与 sinopia@1.4.0
兼容的插件。 在这种情况下,安装方法是相同的。
$> npm install --global sinopia-memory
配置
打开config.yaml
文件并按如下说明更新auth
部分:
默认配置如下所示,由于在默认情况下我们使用一个内置的htpasswd
插件,我们可以通过注释下面几行代码来禁用它:
命名规范
自版本 2.0.0
起,插件必须以下列约定开始:
sinopia-xxx
(已弃用,并将在 6.x.x 上删除)verdaccio-xxx
版本 5.12.0
之后支持 Scope 插件,例如
auth:
'@my-org/auth-awesome-plugin':
foo: some value
bar: another value
store:
'@my-org/store-awesome-plugin':
foo: some value
bar: another value
middleware:
'@my-org/middleware-awesome-plugin':
foo: some value
bar: another value
身份验证配置
auth:
htpasswd:
file: ./htpasswd
# max_users: 1000
并将它们替换为 (如果您决定使用 ldap 插件。
auth:
activedirectory:
url: 'ldap://10.0.100.1'
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
多个身份验证插件
这在技术上是可行的,因此插件顺序很重要,因为凭据将按顺序进行解析。
auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: 'ldap://10.0.100.1'
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
中间件配置
示例:如何设置中间件插件。 所有中间件插件都必须在 middlewares 命名空间中定义。
middlewares:
audit:
enabled: true
您可以将 audit 中间件插件作为基本示例。
存储配置
:::警告
如果 store
属性在 config.yaml
文件中定义,则 storage
属性将被忽略。
:::
示例:如何设置存储插件。 所有存储插件都必须在 store 命名空间中定义。
store:
memory:
limit: 1000
主题配置
npm install --global verdaccio-theme-dark
您一次只能加载一个主题,并在需要时通过选项进行配置。
theme:
dark:
option1: foo
option2: bar