OS.js v3 PAM Authentication Module
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.eslintrc
.npmignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

OS.js Logo

OS.js is an open-source desktop implementation for your browser with a fully-fledged window manager, Application APIs, GUI toolkits and filesystem abstraction.

Build Status Support Back Sponsor Donate Donate Community

OS.js v3 PAM Auth Provider Adapter

This is the PAM Auth Provider Adapter for OS.js v3

Please see the OS.js Authentication Guide for general information.

Installation

npm install --save --production @osjs/pam-auth

Please note that you need the PAM development libraries installed on your host computer. If you don't have this, you'll get errors during npm installation.

This varies depending on your distro:

  • Ubuntu: sudo apt install libpam-dev

Usage

Configure Server

In your server bootstrap script (src/server/index.js):

// In the top of the file load the library
const pamAuth = require('@osjs/pam-auth');

// Locate this line in the file and add the following:
osjs.register(AuthServiceProvider, {
  args: {
    adapter: pamAuth
  }
});

A restart of the server is required

Configure Client

In your client configuration file (src/client/config.js) file remove the automatic login:

module.exports = {
  public: '/',

  // Either comment out this section, or remove it entirely
  /*
  auth: {
    login: {
      username: 'demo',
      password: 'demo'
    }
  }
  */
};

Rebuilding the client is required

Custom groups

By default, groups are read from /etc/group, but you can customize this:

osjs.register(AuthServiceProvider, {
  args: {
    adapter: pamAuth,
    config: {
      native: false,
      config: '/etc/osjs/groups.json' // Default
    }
  }
});

The format of this file is:

{
  "username": ["group1", "group2"]
}

Contribution

Documentation

See the Official Manuals for articles, tutorials and guides.

Links