mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-17 07:45:52 +01:00
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
---
|
||
id: 认证
|
||
title: "认证"
|
||
---
|
||
认证部分设置与 "Auth" [ 插件 ](plugins.md)息息相关。包的访问限制也同时通过 [ 包访问权限](packages.md) 控制。
|
||
|
||
客户端的认证流程由 `npm` 自行处理,在你通过以下命令登陆后:
|
||
|
||
```bash
|
||
npm adduser --registry http://localhost:4873
|
||
```
|
||
|
||
`npm` 会将 Verdaccio 返回的 Token 保存在配置文件中,它存放于您的用户主目录下。 如需了解更多有关于 `npm 配置 (.npmrc)` 相关的内容,请查阅 [官方文档](https://docs.npmjs.com/files/npmrc).
|
||
|
||
```bash
|
||
cat .npmrc
|
||
registry=http://localhost:5555/
|
||
//localhost:5555/:_authToken="secretVerdaccioToken"
|
||
//registry.npmjs.org/:_authToken=secretNpmjsToken
|
||
```
|
||
|
||
#### 匿名发布包
|
||
|
||
`verdaccio` 允许启用匿名发布,要使用这个功能,必须设置正确的 [程序包访问权限](packages.md)。
|
||
|
||
例如:
|
||
|
||
```yaml
|
||
'my-company-*':
|
||
access: $anonymous
|
||
publish: $anonymous
|
||
proxy: npmjs
|
||
```
|
||
|
||
如 [Issue #212](https://github.com/verdaccio/verdaccio/issues/212#issuecomment-308578500) 所述,截至 `npm@5.3.0` 你仍然 **无法在没有 Token 的情况下发布包**。 `yarn` 没有此限制。
|
||
|
||
## 默认 htpasswd
|
||
|
||
为了简化安装,`verdaccio` 使用`htpasswd`基础上的插件。 到v3.0.x版本为止,默认使用[外部插件](https://github.com/verdaccio/verdaccio-htpasswd)。 此包的v2.x 版本仍然包含此插件的内置版本。
|
||
|
||
```yaml
|
||
auth:
|
||
htpasswd:
|
||
file: ./htpasswd
|
||
# Maximum amount of users allowed to register, defaults to "+inf".
|
||
# You can set this to -1 to disable registration.
|
||
#max_users: 1000
|
||
```
|
||
|
||
| 属性 | 类型 | 必填 | 示例 | 支持 | 描述 |
|
||
| --------- | --- | -- | ---------- | ---- | ---------------------- |
|
||
| 文件 | 字符串 | 是 | ./htpasswd | 任意路径 | 存储了加密认证信息的 htpasswd 文件 |
|
||
| max_users | 数字 | 否 | 1000 | 任意数字 | 最大的用户数量 |
|
||
|
||
如果需要禁止新用户注册,可将配置修改为 `max_users: -1`. |