0.0.13 • Published 2 years ago
@authelion/api-adapter v0.0.13
@authelion/api-adapter 🌉
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
}));