UNPKG

smartthings-phone-presence-sensor

Version:
36 lines (29 loc) 928 B
const fs = require('fs'); const Keycloak = require('keycloak-connect'); const session = require('express-session'); let keycloak = null; function connectKeycloak(server) { if (fs.existsSync('./config/keycloak.json') || fs.existsSync('/opt/config/router/keycloak.json')) { const memoryStore = new session.MemoryStore(); server.use(session({ secret: 'secret', resave: false, saveUninitialized: true, store: memoryStore, })); keycloak = fs.existsSync('./config/keycloak.json') ? new Keycloak({ store: memoryStore }, './config/keycloak.json') : new Keycloak({ store: memoryStore }, '/opt/config/router/keycloak.json'); server.use(keycloak.middleware()); } } function protect() { if (keycloak) { return keycloak.protect(); } return (req, res, next) => { next(); }; } module.exports.connectKeycloak = connectKeycloak; module.exports.protect = protect;