0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-30 22:34:10 -05:00
verdaccio/website/translated_docs/zh-CN/plugins.md
2018-08-09 08:05:57 +02:00

141 lines
No EOL
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: plugins
title: "插件"
---
Verdaccio是一个可插入式应用程序。它可以通过多种方式扩展可以是新的认证方法添加端点或者使用定制存储。
> 如果您感兴趣开发自己的插件,请阅读[开发](dev-plugins.md)部分。
## 用法
### 安装
```bash
$> npm install --global verdaccio-activedirectory
```
作为一个sinopia的分支项目`verdaccio`和兼容`sinopia@1.4.0`的插件具有向后兼容性。在这种情况下,安装方式相同。
$> npm install --global sinopia-memory
### 配置
打开`config.yaml`文件并按如下说明更新`auth`部分:
默认配置如下所示,由于在默认情况下我们使用一个内置的`htpasswd`插件,我们可以通过注释下面几行代码来禁用它:
### Auth插件配置
```yaml
htpasswd:
file: ./htpasswd
#max_users: 1000
```
如果你决定使用`ldap`插件,将上述部分进行替换。
```yaml
auth:
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
```
#### 多个Auth插件
这在技术上可行,插件的顺序变得非常重要,安全凭据将按顺序获取。
```yaml
auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
```
### 中间件插件配置
这是一个如何设置中间件插件的示例。所有的中间件插件必须被定义在**middlewares**命名空间。
```yaml
middlewares:
audit:
enabled: true
```
> 您可以跟着[audit middle plugin审核中间插件](https://github.com/verdaccio/verdaccio-audit)的基本范例。
### 存储插件配置
这是一个如何设置存储插件的示例。所有的存储插件必须在**store**命名空间进行定义。
```yaml
store:
memory:
limit: 1000
```
> 如果您定义定制存储,配置文件中的**存储**属性将会被忽略。
## 旧式插件
### Sinopia插件
(兼容所有版本)
* [sinopia-npm](https://www.npmjs.com/package/sinopia-npm)支持npm注册表的sinopia认证插件。
* [sinopia-memory](https://www.npmjs.com/package/sinopia-memory)在内存中缓存用户的sinopia认证插件。
* [sinopia-github-oauth-cli](https://www.npmjs.com/package/sinopia-github-oauth-cli)。
* [sinopia-crowd](https://www.npmjs.com/package/sinopia-crowd)支持atlassian crowd的sinopia认证插件。
* [sinopia-activedirectory](https://www.npmjs.com/package/sinopia-activedirectory)sinopia Active Directory认证插件。
* [sinopia-github-oauth](https://www.npmjs.com/package/sinopia-github-oauth)sinopia2的认证插件支持github oauth web flow。
* [sinopia-delegated-auth](https://www.npmjs.com/package/sinopia-delegated-auth)将认证代理给另一个HTTP URL的Sinopia认证插件。
* [sinopia-altldap](https://www.npmjs.com/package/sinopia-altldap)另一个Sinopia LDAP认证插件
* [sinopia-request](https://www.npmjs.com/package/sinopia-request)一个简单易用且功能齐全的认证插件可以通过配置使用外部API。
* [sinopia-htaccess-gpg-email](https://www.npmjs.com/package/sinopia-htaccess-gpg-email)使用htaccess格式生成密码通过GPG加密并通过MailGun API发送给用户。
* [sinopia-mongodb](https://www.npmjs.com/package/sinopia-mongodb)一个易用且功能齐全的认证插件可通过配置使用mongodb数据库。
* [sinopia-htpasswd](https://www.npmjs.com/package/sinopia-htpasswd)支持htpasswd格式的sinopia认证插件。
* [sinopia-leveldb](https://www.npmjs.com/package/sinopia-leveldb)针对Sinopia private npm的基于leveldb的Sinopia认证插件。
* [sinopia-gitlabheres](https://www.npmjs.com/package/sinopia-gitlabheres)sinopia Gitlab认证插件。
* [sinopia-gitlab](https://www.npmjs.com/package/sinopia-gitlab)sinopia Gitlab认证插件。
* [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap)sinopia LDAP认证插件。
* [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env)基于github oauth web flow的Sinopia认证插件。
> 所有sinopia 插件都应该和所有verdaccio将来版本兼容。 无论如何,我们鼓励贡献者们迁移到 modern verdaccio API并使用 *verdaccio-xx-name*为前缀。
## Verdaccio插件
(兼容2.1.x及以后版本)
### 授权插件
* [verdaccio-bitbucket](https://github.com/idangozlan/verdaccio-bitbucket)verdaccio Bitbucket认证插件。
* [verdaccio-ldap](https://www.npmjs.com/package/verdaccio-ldap)verdaccio LDAP认证插件。
* [verdaccio-active-directory](https://github.com/nowhammies/verdaccio-activedirectory)verdaccio Active Directory认证插件
* [verdaccio-gitlab](https://github.com/bufferoverflow/verdaccio-gitlab)使用Gitlab的Personal Access Token进行认证
* [verdaccio-htpasswd](https://github.com/verdaccio/verdaccio-htpasswd):基于(内置)htpasswd文件插件的verdaccio认证插件
* [verdaccio-github-oauth](https://github.com/aroundus-inc/verdaccio-github-oauth): verdaccio 的Github oauth认证插件。
* [verdaccio-github-oauth-ui](https://github.com/n4bb12/verdaccio-github-oauth-ui): verdaccio登录按钮的GitHub OAuth 插件。
### 中间件插件
* [verdaccio-audit](https://github.com/verdaccio/verdaccio-audit):支持*npm audit* cli的verdaccio插件(内置) (自3.x版本后兼容)
* [verdaccio-profile-api](https://github.com/ahoracek/verdaccio-profile-api):该插件支持*npm profile*cli以及针对基于*verdaccio-htpasswd*认证的*npm profile set password*插件。
### 存储插件
(兼容自3.x及以后版本)
* [verdaccio-memory](https://github.com/verdaccio/verdaccio-memory)在内存中装载包的存储插件
* [verdaccio-s3-storage](https://github.com/remitly/verdaccio-s3-storage)在**Amazon S3**中存储包的存储插件
* [verdaccio-google-cloud](https://github.com/verdaccio/verdaccio-google-cloud)在**Google Cloud Storage**中存储包的存储插件
## 警告
> 并不是所有这些插件都被持续测试过,其中有些可能根本无法正常工作。 如果您发现任何问题,请随时通知每个插件的所有者。