47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
|
SilverBullet supports simple authentication for one or many users.
|
||
|
|
||
|
**Note**: This feature is experimental and will likely change significantly over time.
|
||
|
|
||
|
## Single User
|
||
|
By simply passing the `--user` flag with a username:password combination, you enable authentication for a single user. For instance:
|
||
|
|
||
|
```shell
|
||
|
silverbullet --user pete:1234 .
|
||
|
```
|
||
|
|
||
|
Will let `pete` authenticate with password `1234`.
|
||
|
|
||
|
## Multiple users
|
||
|
Although multi-user support is still rudimentary, it is possible to have multiple users authenticate. These users can be configured using an JSON authentication file that SB can generate for you. It is usually named `.auth.json`.
|
||
|
|
||
|
You can enable authentication as follows:
|
||
|
|
||
|
```shell
|
||
|
silverbullet --auth /path/to/.auth.json
|
||
|
```
|
||
|
|
||
|
To create and manage an `.auth.json` file you can use the following commands:
|
||
|
|
||
|
* `silverbullet user:add --auth /path/to/.auth.json [username]` to add a user
|
||
|
* `silverbullet user:delete --auth /path/to/.auth.json [username]` to delete a user
|
||
|
* `silverbullet user:passwd --auth /path/to/.auth.json [username]` to update a password
|
||
|
|
||
|
If the `.auth.json` file does not yet exist, it will be created.
|
||
|
|
||
|
When SB is run with a `--auth` flag, this fill will automatically be reloaded upon change.
|
||
|
|
||
|
### Group management
|
||
|
While this functionality is not yet used, users can also be added to groups, which can be arbitrarily named. Likely the `admin` group will have special meaning down the line.
|
||
|
|
||
|
When adding a user, you can add one more `-G` or `--group` flags:
|
||
|
|
||
|
```shell
|
||
|
silverbullet user:add --auth /path/to/.auth.json -G admin pete
|
||
|
```
|
||
|
|
||
|
And you can update these groups later with `silverbullet user:chgrp`:
|
||
|
|
||
|
```shell
|
||
|
silverbullet user:chgrp --auth /path/to/.auth.json -G admin pete
|
||
|
```
|