auth

Main authentication module for my projects
git clone git://git.finwo.net/app/auth
Log | Files | Refs

logout.js (668B)


      1 import { app } from '../../app.js';
      2 import { resolveHostContext } from '../../lib/host-context.js';
      3 import { getSystemDatabase } from '../../lib/realm.js';
      4 import {
      5   clearSessionCookie,
      6   destroySession,
      7   requestToken,
      8 } from '../../lib/session.js';
      9 
     10 export default {
     11   method: 'post',
     12   path: '/api/v1/logout',
     13   name: 'login.logout',
     14   async handler(req, res) {
     15     await resolveHostContext(req, { publicUrl: app.config.server.public_url });
     16 
     17     const systemDb = getSystemDatabase();
     18     const result = await destroySession(systemDb, requestToken(req));
     19     if (result.groupDeleted) clearSessionCookie(res, req);
     20 
     21     return new app.HttpOk({ ok: true });
     22   },
     23 };