uppy/packages/@uppy/core
Mikael Finstad ec4bc58508
Provider user sessions (#4619)
New concept "simple auth" - authentication that happens immediately (in one http request) without redirecting to any third party.

uppyAuthToken initially used to simply contain an encrypted & json encoded OAuth2 access_token for a specific provider. Then we added refresh tokens as well inside uppyAuthToken #4448. Now we also allow storing other state or parameters needed for that specific provider, like username, password, host name, webdav URL etc... This is needed for providers like webdav, ftp etc, where the user needs to give some more input data while authenticating

Companion:
- `providerTokens` has been renamed to `providerUserSession` because it now includes not only tokens, but a user's session with a provider.

Companion `Provider` class:
- New `hasSimpleAuth` static boolean property - whether this provider uses simple auth
- uppyAuthToken expiry default 24hr again for providers that don't support refresh tokens
- make uppyAuthToken expiry configurable per provider - new `authStateExpiry` static property (defaults to 24hr)
- new static property `grantDynamicToUserSession`, allows providers to specify which state from Grant `dynamic` to include into the provider's `providerUserSession`.
2023-12-05 22:55:41 +01:00
..
src Provider user sessions (#4619) 2023-12-05 22:55:41 +01:00
types @uppy/utils: refactor to TS (#4699) 2023-11-06 15:01:50 +01:00
CHANGELOG.md Release: uppy@3.19.1 (#4790) 2023-11-12 02:30:15 +00:00
LICENSE Move Core class to @uppy/core package. 2018-06-14 16:31:19 +02:00
package.json Release: uppy@3.19.1 (#4790) 2023-11-12 02:30:15 +00:00
README.md meta: Fix logos in all the readmes (#4407) 2023-04-07 23:46:04 +01:00

@uppy/core

Uppy logo: a smiling puppy above a pink upwards arrow

npm version CI status for Uppy tests CI status for Companion tests CI status for browser tests

Uppy is a sleek, modular JavaScript file uploader that integrates seamlessly with any application. Its fast, provides a comprehensible API and lets you worry about more important problems than building a file uploader.

  • Fetch files from local disk, remote urls, Google Drive, Dropbox, Instagram, or snap and record selfies with a camera;
  • Preview and edit metadata with a nice interface;
  • Upload to the final destination, optionally process/encode

Read the docs | Try Uppy

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.

Example

import Uppy from '@uppy/core'

const uppy = new Uppy()
uppy.use(SomePlugin)

Installation

$ npm install @uppy/core

Alternatively, you can also use this plugin in a pre-built bundle from Transloadits CDN: Edgly. In that case Uppy will attach itself to the global window.Uppy object. See the main Uppy documentation for instructions.

Documentation

Documentation for this plugin can be found on the Uppy website.

License

The MIT License.