Dropbox Storage Provider Setup

The Dropbox Storage Provider allows end-users to map in their OneDrive storage into container-based sessions. Access is provided via Dropbox’s OAuth interface and leveraging the Rclone Docker volume plugin.

Reference Docs:

Creating a Dropbox OAuth App

  1. Login to the Dropbox App Console: https://www.dropbox.com/developers/apps/create .

  2. Select Scoped Access, Full Dropbox, give the app a name (e.g Kasm-Example), then click Create app.

../../_images/create_new_app.png

Create new App

  1. On the next screen take note of the App key and App Secret , these will be used as the Client ID and Client Secret in the Storage Provider Configuration.

../../_images/app_key_secret.png

Authentication Details

  1. In the Development users section, click Enable additional users to allow additional accounts to use this app.

../../_images/enable_additional_users.png

Enable Additional Users

  1. In the OAuth 2 section, enter the following URL for Redirect URI , substituting the hostname of the Kasm deployment https://kasm.example.com/api/cloud_storage_callback , then click Add.

../../_images/app_redirect.png

Redirect Settings

  1. Select the Permissions tab and ensure the following permissions are selected, then click Submit.

    account_info.read
    files.metadata.read
    files.metadata.write
    files.content.write
    files.content.read
    sharing.read
    sharing.write
    
../../_images/app_permissions.png

DropBox Permissions

Kasm Storage Provider Config

  1. Log into the Kasm UI as an administrator.

  2. Select Settings -> Storage -> Add.

  3. Update the form with the following entries, using the Client ID and Client Secret gathered in the previous section.

Name

Dropbox

Storage Provider Type

Dropbox

Enabled

checked

Client ID

<client id>

Client Secret

<client secret>

Authorization URL

https://www.dropbox.com/1/oauth2/authorize

Authorization URL Options

{"include_granted_scopes" : "user", "access_type" : "offline", "token_access_type" : "offline"}

Token URL

https://api.dropboxapi.com/1/oauth2/token

Redirect URL

https://<hostname>/api/cloud_storage_callback

Scope

files.metadata.read
files.metadata.write
files.content.read
files.content.write
sharing.read
sharing.write
account_info.read

Default Target

/dropbox

Volume Config

{
     "driver" : "rclone",
     "driver_opts" : {
         "type" : "dropbox",
         "uid" : "1000",
         "gid" : "1000",
         "allow_other" : "true"
      }
}

Mount Config

{}

  1. Click Save to save the changes.

Dropbox Storage Mapping Configuration

  1. From any page, select the profile icon at the top right of the page. Select Edit Profile.

../../_images/edit_profile.png

Edit Profile

  1. Select the Cloud Storage section, then Add Storage Mapping.

../../_images/profile_add_storage_mapping.png

Add Storage Mapping

  1. Select Dropbox from the dropdown, then select Next.

../../_images/configure_storage.webp

Configure Storage

  1. The Dropbox Login page will appear. Login with the desired account.

../../_images/login1.png

Login

  1. Dropbox will ask for consent to provide access to the account.

../../_images/approve.png

Approve Kasm

  1. If successful, a redirect will occur to the Workspaces dashboard. The new storage mapping can be seen in the Cloud Storage section of the profile.

../../_images/storage_mapping.png

Storage Mapping

  1. Launch a new container-based session. Verify Dropbox is mapped inside the session at the /dropbox location.

../../_images/files1.png

In Session View