0.0.13 • Published 2 years ago

@authelion/api-adapter v0.0.13

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@authelion/api-adapter 🌉

npm version main codecov Known Vulnerabilities

The main propose of this package, is to provide middlewares for microservices, which are based on a http (express) or (web-) socket (socket.io) server.

Table of Contents

Installation

npm install @authelion/api-adapter --save

Usage

HTTP

import express from 'express';
import { setupHTTPMiddleware } from "@authelion/api-adapter";
import { setConfig, useClient } from "redis-extension";
import axios from 'axios';

// setup express server
const server = expres();

// setup redis connection
setConfig('default', {connectionString: 'redis://127.0.0.1'});

// retrieve redis instance
const redis = useClient('default');

// set bearer token or achieve it on another way e.g. response interceptor ;)
axios.defaults.headers.common['Authorization'] = 'AUTH_TOKEN';

// setup socket middleware for socket server
server.use(setupHTTPMiddleware({
    redis,
    redisPrefix: 'token',
    http: axios
}));

Socket

import { Server } from 'socket.io';
import { setupSocketMiddleware } from "@authelion/api-adapter";
import { setConfig, useClient } from "redis-extension";
import axios from 'axios';

// setup socket.io server
const server = new Server();

// setup redis connection
setConfig('default', {connectionString: 'redis://127.0.0.1'});

// retrieve redis instance
const redis = useClient('default');

// set bearer token or achieve it on another way e.g. response interceptor ;)
axios.defaults.headers.common['Authorization'] = 'AUTH_TOKEN';

// setup socket middleware for socket server
server.use(setupSocketMiddleware({
    redis,
    redisPrefix: 'token',
    http: axios
}));