0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-01-06 22:40:26 -05:00
verdaccio/packages/plugins/auth-memory
Juan Picado 558d78f32a feat: flexible user interface generator (#2070)
* feat: flexible template generator and manifest

* chore: add changeset

* chore: restore dep

* chore: add docs

* chore: update snapshots

* chore: update docker examples for v5

* chore: refactor web module

* chore: format

* chore: refactor web api endpoints

* test: add test for user login web

* chore: refactor endpoints

* chore: fix merge

* chore: fix merge

* Update ci.yml

* chore: test

* chore: add static

* chore: update script

* chore: fix e2e

* chore: fix method

* docs: update v5 relative docker example

* chore: update html render

* chore: update style

* Update .prettierignore

* chore: update changeset

* chore: use pnpm6 on run test

temporary ci

* chore: drop node 16 for pnpm 6

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: remove circle ci

* chore: better url prefix handling

* chore: format code

* chore: remove test node 10

* docs: add docker v5 relative revers proxy example

* chore: use base html tag

* chore: update test
2021-04-09 17:54:38 +02:00
..
src feat: flexible user interface generator (#2070) 2021-04-09 17:54:38 +02:00
test fix: cleanup warnings (#1986) 2021-04-09 17:54:24 +02:00
.babelrc
CHANGELOG.md chore: update versions (alpha) (#2053) 2021-04-09 17:54:33 +02:00
jest.config.js
LICENSE
package.json feat: flexible user interface generator (#2070) 2021-04-09 17:54:38 +02:00
README.md
tsconfig.build.json
tsconfig.json

verdaccio-auth-memory

FOSSA Status CircleCI codecov

This verdaccio auth plugin keeps the users in a memory plain object. This means all sessions and users will disappear when you restart the verdaccio server.

If you want to use this piece of software, do it at your own risk. This plugin is being used for unit testing.

Installation

$ npm install -g verdaccio
$ npm install -g verdaccio-auth-memory

Config

Add to your config.yaml:

auth:
  auth-memory:
    users:
      foo:
        name: foo
        password: s3cret
      bar:
        name: bar
        password: s3cret

For plugin writers

It's called as:

const plugin = require('verdaccio-auth-memory');

plugin(config, appConfig);

Where:

  • config - module's own config
  • appOptions - collection of different internal verdaccio objects
    • appOptions.config - main config
    • appOptions.logger - logger

This should export four functions:

  • adduser(user, password, cb) Add new users

    It should respond with:

    • cb(err) in case of an error (error will be returned to user)
    • cb(null, false) in case registration is disabled (next auth plugin will be executed)
    • cb(null, true) in case user registered successfully

    It's useful to set err.status property to set http status code (e.g. err.status = 403).

  • authenticate(user, password, cb) Authenticate the user

    It should respond with:

    • cb(err) in case of a fatal error (error will be returned to user, keep those rare)
    • cb(null, false) in case user not authenticated (next auth plugin will be executed)
    • cb(null, [groups]) in case user is authenticated

    Groups is an array of all users/usergroups this user has access to. You should probably include username itself here.

  • allow_access(user, pkg, cb) Check whether the user has permissions to access a resource (package)

    It should respond with:

    • cb(err) in case of a fatal error (error will be returned to user, keep those rare)
    • cb(null, false) in case user not allowed to access (next auth plugin will be executed)
    • cb(null, true) in case user is allowed to access
  • allow_publish(user, pkg, cb) Check whether the user has permissions to publish a resource (package)

    It should respond with:

    • cb(err) in case of a fatal error (error will be returned to user, keep those rare)
    • cb(null, false) in case user not allowed to publish (next auth plugin will be executed)
    • cb(null, true) in case user is allowed to publish

License

FOSSA Status