At line 2 changed one line |
Box supports external integration through an HTTP-based REST API.\\ |
Box REST API based integration: [Documentation Link|https://developer.box.com/reference]\\ |
At line 4 changed 4 lines |
__Restriction:__\\ |
-REST API does not support resume on upload\\ |
-No mdtm(File modification time) changes.\\ |
-REST API does not support streaming on upload. At Large file (greater then 25 MB) upload: CrushFTP stores the uploaded file temporary at CrushFTP install folder/box/<<box username>>\\ |
---- |
__⚠️ Proxy Configuration:__ If your server accesses the internet through a proxy, make sure to whitelist the following domains for DropBox Authentication and storage access: __api.box.com__\\ |
---- |
__⚠️ Restriction:__\\ |
- REST API does not support __resume__ on upload\\ |
- No mdtm (File modification time) changes.\\ |
- The REST API does not support streaming during upload. For large file uploads (files larger than __25 MB__), CrushFTP temporarily stores the file in the following location: __CrushFTP Install Folder/box/<<box username>>__\\ |
---- |
!1. Box Custom App Configuration (JWT Authentication)\\ |
At line 9 changed 2 lines |
\\ |
Create new custom app at [https://app.box.com/developers/console].\\ |
Create a new __Custom App__ at __Box Developer Console__ ([Box Console Link| https://app.box.com/developers/console]). Select __Custom App__ as the app type to begin configuring your integration with Box services.\\ |
At line 12 removed 2 lines |
\\ |
CrushFTP use __JWT Authentication__ method ([https://developer.box.com/guides/authentication/jwt/]), and not OAuth2. Select JWT based authentication.\\ |
At line 17 added 2 lines |
CrushFTP uses the __JWT Authentication__ (More info: [Box JWT Link|https://developer.box.com/guides/authentication/jwt/]) method provided by Box, not standard OAuth 2.0. When configuring your __Box application__, make sure to select __JWT-based authentication__ as the authorization method.\\ |
\\ |
At line 17 changed one line |
__At Custom App's Configuration :__\\ |
In the Custom App’s configuration, select __App + Enterprise Access__ as the authentication method to enable __full access__ for server-side integrations within your Box enterprise environment.\\ |
At line 19 removed one line |
Choose APP + Enterprise Access.\\ |
At line 22 changed one line |
At applications scopes: Check the flags : "__Write all files and foldoers stored in box__" and "__Manage users__"\\ |
Under __Application Scopes__, enable the following permissions by checking the boxes:\\ |
✅ __Write all files and folders stored in Box__\\ |
✅ __Manage users__\\ |
These scopes are required to __allow CrushFTP to upload data__ and interact with Box user accounts on your behalf.\\ |
\\ |
At line 25 changed one line |
Check the "Make API calls using the as-user header" checkbox at Advanced Features__\\ |
In the __Advanced Features__ section, check the box:\\ |
✅ __Make API calls using the as-user header__\\ |
This allows the application __to act on behalf of Box users__ within your enterprise using the as-user header.\\ |
At line 29 changed one line |
Generate the RSA keypair for JWT at __Configuration -> Add and Manage Public Keys__\\ |
Generate the __RSA keypair__ for __JWT authentication__ by navigating to:\\ |
__Configuration -> Add and Manage Public Keys__, then click __Generate a Public/Private Keypair__. |
It will generate the keypair and display the private key only once — ⚠️ be sure to download and securely store it for later use in your CrushFTP Box JWT configuration.\\ |
At line 33 changed 2 lines |
Save your app changes.\\ |
At __Authorization__ tab : Review and submit for app approval. Requires Box admin approval.\\ |
Save your __Custom App__ changes: After configuring your Custom App, make sure to __save all__ changes.\\ |
⚠️ Go to the Authorization tab and click __Review and Submit__to request __Box Admin approval__. This step is required to activate the app and grant it access to your enterprise data.\\ |
⚠️ __Important__: Any future changes made to the __Custom App__ configuration will require re-authorization. The Box Admin must re-authorize the application after each change to ensure continued functionality.\\ |
\\ |
At line 52 changed one line |
__Configuration:__ On CrushFTP at remote connection settings:\\ |
!2. Box Remote [VFS] Settings\\ |
\\ |
Select the __Box__ remote item type.\\ |
At line 54 changed one line |
__1.__ If flag "Store JWT JSON file" is checked.\\ |
__a.) Use JWT JSON File__\\ |
At line 56 changed 2 lines |
User name : - box login user name\\ |
JWT config: - Copy the entire JWT config JSON file content to the input field.\\ |
__User name__ : Enter the Box login email address of the user you want to impersonate.\\ |
__JWT config__: Copy and paste the entire content of the JWT configuration __JSON file__ into __this field__. This file was generated when setting up your Box Custom App and contains all required credentials for JWT-based authentication. See above.\\ |
At line 61 changed one line |
__2.__ "Store JWT JSON file" is unchecked:\\ |
__b.)__ __Store JWT JSON file__ is Unchecked:\\ |
At line 63 changed 7 lines |
User name : - box login user name\\ |
Password: - "clientSecret" from the JSON config file\\ |
Client Id: - "clientID" from the JSON config file\\ |
Enterprise Id: - "enterpriseID" from the JSON config file\\ |
Public Key Id: - "publicKeyID" from the JSON config file\\ |
Private Key: - "privateKey" from the JSON config file\\ |
Private Key password phrase: - "passphrase" from the JSON config file\\ |
__User name__: Enter the Box login email address of the user you want to impersonate.\\ |
__Password__: "clientSecret" from the JSON config file\\ |
__Client Id__: "clientID" from the JSON config file\\ |
__Enterprise Id__: "enterpriseID" from the JSON config file\\ |
__Public Key Id__: "publicKeyID" from the JSON config file\\ |
__Private Key__: "privateKey" from the JSON config file\\ |
__Private Key password phrase__: "passphrase" from the JSON config file\\ |