首先,这取决于您如何部署 Verdaccio,但是,我假设您使用的是 Docker。
有一个完整的示例如何设置 Verdaccio + OpenLDAP
https://github.com/verdaccio/docker-examples/tree/master/ldap-verdaccio
向 Docker 镜像添加插件的关键扩展了官方的一个
FROM verdaccio/verdaccio
RUN npm i && npm install verdaccio-ldap
这将扩展官方安装 LDAP 插件,就这么简单。
然后你必须像这样将特定的 LDAP 配置添加到config.yaml
文件中
auth:
ldap:
type: ldap
client_options:
url: "ldap://openldap:389"
# Only required if you need auth to bind
adminDn: "cn=admin,dc=example,dc=org"
adminPassword: "admin"
# Search base for users
searchBase: "ou=People,dc=example,dc=org"
searchFilter: "(cn={{username}})"
# If you are using groups, this is also needed
groupDnProperty: 'cn'
groupSearchBase: 'ou=Groups,dc=example,dc=org'
# If you have memberOf support on your ldap
searchAttributes: ['*', 'memberOf']
# Else, if you don't (use one or the other):
# groupSearchFilter: '(memberUid={{dn}})'
#
# Optional, default false.
# If true, then up to 100 credentials at a time will be cached for 5 minutes.
cache: false
# Optional
reconnect: true
就这样。请查看完整示例以了解仅是 Docker 部分的其他次要配置主题。
除了 Docker,您还可以使用纯npm
. 首先,确保您已全局安装 Verdaccio,然后像这样继续全局安装 ldap 插件。
npm install --global verdaccio-ldap
作为最后一步,在 yaml 文件中遵循与上述相同的配置。
我希望这会有所帮助。