diff --git a/README.md b/README.md index 91ce385..42a48a6 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,47 @@ -Basic RADIUS Server for node.js for Google LDAP Service and WPA2 Enterprise WLAN Authentification. - -- supports LDAP Authentification Backend -- supports WPA2 Enterprise (TTLS over PAP) +easy extensible NodeJS RADIUS Server + +- supports different authentification backends + - LDAP (e.g. for Google LDAP Service, but also any other LDAP service) + - HTTP + - IMAP + - SMTP + - Predefined / Static username and password +- supports WPA2 Enterprise + - TTLS + - PAP / GTC Protect your WIFI access with a username and password by a credential provider you already use! Authentication tested with Windows, Linux, Android and Apple devices. -# Quick start +## Introduction + +This app provides a radius server to authenticate against an authentication service. To get this running +you need: + +1. An running Auth Service (e.g. LDAP Service / Google Suite Enterprise / Gloud Identity Premium) +2. Optional: Create your own SSL certificate (e.g. self signed via npm run create-certificate) +3. Check config.js and adapt to your needs + +- configure authentication: + set authenticaiton to one of the [provided authenticators](src/auth/README.md), e.g.: + +```js +var config = { + // .... + authentication: 'GoogleLDAPAuth', + authenticationOptions: { + base: 'dc=hokify,dc=com' + } +}; +``` + +- set radius secret + +4. Install und build server: npm install && npm run build +5. Start server "npm run start" + +# Quick start for using it with Google LDAP 1. Install node js => 13.10.1 - easiest way is to install a node js version from nodejs.org or run "npx n latest" to install latest version. @@ -19,6 +53,22 @@ download the files and name them "ldap.gsuite.key" and "ldap.gsuite.crt" accordi if they don't use: WPA2-Enterprise -> EAP-TTLS -> PAP / CHAP 6. Log in with your google credentials (email + password, ... e.g. youremail@yourcompany.com) +## Configuration + +For authentication see [Authentication Details](src/auth/README.md). +For general config options run with --help or see see [config.js](config.js) in root. + +## Installation + + npm install + npm run build + +## Usage + +Ensure you have installed latest node version (>= 13.10.1) and run: + + npm run start + ## Known Issues / Disclaimer Support for this has landed in node 13.10.1, therefore ensure you have installed at least this node version. @@ -59,45 +109,3 @@ for everyone. Why limit it to something "complex" like LDAP and co. This library to implement either their own authentication mechanismus (e.g. against a database), or provides some mechansimns out of the box (e.g. imap, static, ldap,..). -## Installation - - npm install - npm run build - -## Introduction - -This app provides a radius server to authenticate against google's SLDAP service. To get this running -you need: - -1. Running LDAP Service (E.g. Google Suite Enterprise or Gloud Identity Premium) -2. Optional: Create your own SSL certificate (e.g. self signed via npm run create-certificate) -3. Check config.js and adapt to your needs - -- configure authentication: - set authenticaiton to one of the provided authenticators. - -```js -var config = { - // .... - authentication: 'GoogleLDAPAuth', - authenticationOptions: { - base: 'dc=hokify,dc=com' - } -}; -``` - -- set radius secret - -4. Install und build server: npm install && npm run build -5. Start server "npm run start" - -## Configuration - -For authentication see [Authentication Details](src/auth/README.md). -For general config options run with --help or see see [config.js](config.js) in root. - -## Usage - -Ensure you have installed latest node version (>= 13.10.1) and run: - - npm run start diff --git a/src/auth/README.md b/src/auth/README.md index fb62d01..add4975 100644 --- a/src/auth/README.md +++ b/src/auth/README.md @@ -168,3 +168,25 @@ c = { } }; ``` + + +## HTTP Post Auth + +http authenticiation via http post request + +```typescript +interface IStaticAuthOtions { + url: string; // url to send a post request with username and password +} +``` + +Example + +```js +c = { + authentication: 'HTTPAuth', + authenticationOptions: { + url: 'https://my-website.com/api/backend-login' + } +}; +```