UNPKG

@uppy/companion

Version:

OAuth helper and remote fetcher for Uppy's (https://uppy.io) extensible file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox and Google Drive, S3 and more :dog:

43 lines (39 loc) 956 B
import * as tokenService from '../helpers/jwt.js' import { respondWithError } from '../provider/error.js' /** * * @param {object} req * @param {object} res */ export default async function logout(req, res, next) { const cleanSession = () => { if (req.session.grant) { req.session.grant.state = null req.session.grant.dynamic = null } } const { companion } = req const { providerUserSession } = companion if (!providerUserSession) { cleanSession() res.json({ ok: true, revoked: false }) return } try { const data = await companion.provider.logout({ providerUserSession, companion, }) delete companion.providerUserSession tokenService.removeFromCookies( res, companion.options, companion.providerClass.oauthProvider, ) cleanSession() res.json({ ok: true, ...data }) } catch (err) { if (respondWithError(err, res)) return next(err) } }