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:

42 lines (41 loc) 1.16 kB
"use strict"; const tokenService = require('../helpers/jwt'); const { respondWithError } = require('../provider/error'); /** * * @param {object} req * @param {object} res */ 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 { accessToken } = providerUserSession; const data = await companion.provider.logout({ token: accessToken, 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); } } module.exports = logout;