UNPKG

@accounts/rest-express

Version:

Server side REST express middleware for accounts

23 lines (21 loc) 733 B
import type * as express from 'express'; import { type AccountsServer } from '@accounts/server'; import { sendError } from '../utils/send-error'; import { param } from 'express-validator'; import { matchOrThrow } from '../utils/matchOrTrow'; export const serviceVerifyAuthentication = (accountsServer: AccountsServer) => [ param('service').isString().notEmpty(), async (req: express.Request, res: express.Response) => { try { const { service } = matchOrThrow<{ service: string }>(req); const isAuthenticated = await accountsServer.authenticateWithService( service, req.body, req.infos ); res.json(isAuthenticated); } catch (err) { sendError(res, err); } }, ];