Skip to content

A simple REST API built using Node.js and Express.js and few other magics.

License

Notifications You must be signed in to change notification settings

shandeepc/Lysandra

Repository files navigation


Logo

Lysandra

Formally KiPerFiB REST API.

Lysandra

Version 4.0.0

About The Project

A simple REST API built using Node.js and Express.js and few other magics.

Uses JSON files for persistance storage.

Primarily created to use as a Source/Target for IDAM Tools. But can be used for other things....

Built With

Recent Changes

  • Added Seperate EndPoints for Adding and Removing group to/from employees(Check PostMan Collections)
  • Added Seperate EndPoints for enabling and disabling employees(Check PostMan Collections)
  • Added PATCH operation for Updating Employees(Check PostMan Collections)
  • Added OAuth2.0 Client Credentials
  • Added PostMan Collections with Examples

Features

  • Mutiple Schemas for managing(Employees & Groups)
  • Support mutiple authentication methods
    • No Authentication
    • UserName and Password based authentication
    • Permanant API Token based authentication
    • JWT Token based authentication(Deprecated)
    • OAuth2.0(Client Credentials)
  • Follows general public API standards
  • Strict schema validation
  • Supports pagging
  • Supports password set and reset

Getting Started

Prerequisites

Installation

  1. Download the lastest release

    https://github.com/shandeepc/Lysandra/releases

  2. Install NPM packages

    npm install
  3. Update Port number in .env(Optional)

    PORT = 6969
  4. Update secret in .env(Optional)

    Generate secrets by executing below command in Node console

       require('crypto').randomBytes(64).toString('hex')

    Copy the generated SECRET and place in ACCESS_TOKEN_SECRET

    Example :- ACCESS_TOKEN_SECRET=c11242e5719f3e42b46e50b7c13adcdb090bc148fdf94cd64418fc8d6e22e9ce09c58f5078b58bd6a6c52ed54ebb7c56ef93dd7fc9a7730420a0a24394322e6d

    Perform same above step again and place in REFRESH_TOKEN_SECRET

    Example :- REFRESH_TOKEN_SECRET=2d9c69c1caa4611ecdee16b03953d98c05e55e31bbca503aae4fda8b931360ae390db579f58539065d551869487cce5e272e9b757f7166e7fd9b16583f140898

Usage

Start the application by either typing

npm start

or

node server

Todo/Roadmap

  • Employees MVC
  • Basic Authentication
  • Simple API Authentication
  • Employees Password MVC
  • Groups MVC
  • JWT Authentication(Deprecated)
  • Fix IDAM warnings
  • Implement PATCH Operation
  • Add JWT Refresh via POST(Deprecated)
  • Implement OAuth(Sort Of)
  • Simulate OAuth2.0 Authentication mechanism
  • Support sorting and filtering
  • Fix cross auth bug(Secret..Sush)
  • Add GUI
  • Add Native app

License

Distributed under the Proprietary License. See LICENSE.txt for more information.

Contact

Shandeep - @shandeepsrinivas - @_random_nerd - www.shandeep.dev

About

A simple REST API built using Node.js and Express.js and few other magics.

Resources

License

Stars

Watchers

Forks

Packages

No packages published