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:

26 lines (25 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tokenService = require('../helpers/jwt'); const { respondWithError } = require('../provider/error'); const logger = require('../logger'); async function simpleAuth(req, res, next) { const { providerName } = req.params; try { const simpleAuthResponse = await req.companion.provider.simpleAuth({ requestBody: req.body }); req.companion.providerUserSession = { ...req.companion.providerUserSession, ...simpleAuthResponse, }; logger.debug(`Generating simple auth token for provider ${providerName}`, null, req.id); const uppyAuthToken = tokenService.generateEncryptedAuthToken({ [providerName]: req.companion.providerUserSession }, req.companion.options.secret, req.companion.providerClass.authStateExpiry); tokenService.addToCookiesIfNeeded(req, res, uppyAuthToken, req.companion.providerClass.authStateExpiry); res.send({ uppyAuthToken }); } catch (err) { if (respondWithError(err, res)) return; next(err); } } module.exports = simpleAuth;