sl
sinopia-ldap
npm i sinopia-ldap
sl

sinopia-ldap

LDAP auth plugin for sinopia

by Alex Kocharin

0.5.1 (see all)License:{"type":"WTFPL","url":"http://www.wtfpl.net/txt/copying/"}TypeScript:Not Found
npm i sinopia-ldap
Readme

Installation

$ npm install sinopia
$ npm install sinopia-ldap

Config

Add to your config.yaml:

auth:
  ldap:
    type: ldap
    groupNameAttribute: 'cn'
    client_options:
      url: "ldaps://ldap.example.com"
      adminDn: "cn=admin,dc=example,dc=com"
      adminPassword: "admin"
      searchBase: "ou=People,dc=example,dc=com"
      searchFilter: "(uid={{username}})"
      cache: False
      searchAttributes:
        - "*"
        - memberOf
      tlsOptions:
        rejectUnauthorized: False

For plugin writers

It's called as:

require('sinopia-ldap')(config, stuff)

Where:

  • config - module's own config
  • stuff - collection of different internal sinopia objects
    • stuff.config - main config
    • stuff.logger - logger

This should export two functions:

  • adduser(user, password, cb)

    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)

    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.

Downloads/wk

6

GitHub Stars

19

LAST COMMIT

7yrs ago

MAINTAINERS

1

CONTRIBUTORS

7

OPEN ISSUES

3

OPEN PRs

2
VersionTagPublished
0.5.1
latest
7yrs ago
No alternatives found
No tutorials found
Add a tutorial

Rate & Review

100
No reviews found
Be the first to rate