At line 3 changed one line |
__Microsoft Graph REST API__ based integration. ([Link|https://learn.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0])\\ |
__Microsoft Graph REST API__ based integration. ([Working with files in Microsoft Graph Link|https://learn.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0])\\ |
\\ |
CrushFTP supports both __OneDrive Personal__ (Designed for individual users to store personal files, photos, and documents.) and __OneDrive for Business__ ([Microsoft OneDrive service description Link|https://learn.microsoft.com/en-us/office365/servicedescriptions/onedrive-for-business-service-description]) account types.\\ |
\\ |
At line 8 changed 2 lines |
You will start at the Microsoft Azure portal:\\ |
[https://azure.microsoft.com/en-us/features/azure-portal/]\\ |
Start at the __Microsoft Azure Portal__: [Link|https://azure.microsoft.com/en-us/features/azure-portal/]\\ |
At line 11 changed one line |
CrushFTP supports both __OneDrive Personal__ (Designed for individual users to store personal files, photos, and documents.) and __OneDrive for Business__ ([Link|https://learn.microsoft.com/en-us/office365/servicedescriptions/onedrive-for-business-service-description]) account types.\\ |
__Application registration:__ Navigate to App registrations in the Azure Portal. Click on __New registration__ to create a new application.\\ |
At line 13 changed one line |
__Application registration: __Go to the App registrations and click on New registration:\\ |
[SharePoint Integration/new_registration.png]\\ |
At line 15 changed one line |
Name it. Select the Microsoft account types. The redirect URL must end with register_microsoft_graph_api/. Then click on register.\\ |
The Redirect URL must end with __"register_microsoft_graph_api/"__.\\ |
At line 17 changed one line |
[attachments|register_app.png]\\ |
{{{ |
|
http://localhost:9090/register_microsoft_graph_api/ |
|
}}}\\ |
or |
{{{ |
|
https://your.crushftp.domain.com/register_microsoft_graph_api/ |
|
}}}\\ |
At line 19 changed one line |
__API permission:__ You must also provide permission for the Microsoft Graph. Go to the Api permission. Click on Add permission, and select Microsoft Graph. Choose Delegated permission and add the "Files.ReadWrite.All" permission:\\ |
__Secret key__: A new client secret must be created. Go to __Certificates & secrets__, and generate a new client secret by clicking on __New client secret__. Ensure you copy over the __value__ immediately!\\ |
At line 21 changed one line |
[attachments|permission_microsoft_graph.png]\\ |
[SharePoint Integration/new_secret.png]\\ |
At line 23 changed one line |
!!!1. OneDrive Business Type\\ |
[SharePoint Integration/secret_value.png]\\ |
At line 25 changed one line |
__Available on Version 10.5.1 Build : 14+__\\ |
!1. OneDrive Business Type\\ |
At line 27 changed one line |
About __Microsoft Graph Permission__ see more details at [https://learn.microsoft.com/en-us/graph/permissions-overview?tabs=http] (it explains Application Permission and Delegated Permission).\\ |
About __Microsoft Graph Permission__ see more details at [Link|https://learn.microsoft.com/en-us/graph/permissions-overview?tabs=http]\\ |
At line 30 removed one line |
__Client id : __ You can find it at Azure portal -> App Registration -> Overview:\\ |
At line 32 changed one line |
[attachments|client_id.png]\\ |
__!!!__Grant __Admin consent__ for the newly added permission.\\ |
At line 34 changed one line |
__Secret key:__ A new client secret needs to be created as well. Go to the "Certificate & secrets" and generate a new secret key. Click on New client secret:\\ |
[SharePoint Integration/app_permission_admin_consent.png]\\ |
At line 36 changed 2 lines |
[attachments|new_secret.png]\\ |
[attachments|secret_value.png]\\ |
__Client Id : __ You can find it at Azure portal -> App Registration -> Overview: Application (client) ID)\\ |
At line 49 added 2 lines |
[attachments|client_id.png]\\ |
\\ |
At line 41 changed one line |
__User name:__ Itt must start with "app_permission", then the Client ID separated with tilda.\\ |
__Username:__ It must start with __app_permission__, followed by the __Client ID__:Azure portal -> App Registration -> Overview: Application (client) ID), separated by a tilde (~). |
At line 45 changed 3 lines |
__Password:__ Client Secret.\\ |
__Tennant:__ The tenant id.\\ |
__User id or User principal name:__ Provide the user's Id or the user's principal name.\\ |
__Password:__ Client Secret. (See at App Registration -> Manage -> Certificates & secrets)\\ |
__Tennant:__ Tenant Id. (See at App Registration -> Overview -> Directory (tenant) ID)\\ |
__User id or User principal name:__ Provide the user's ID or the user principal name (UPN).\\ |
At line 51 changed one line |
!!!2 Ondrive Personal Type\\ |
!2. Ondrive Personal Type\\ |
At line 53 changed 2 lines |
__!!!Constraint:__ Microsoft Graph REST API does not support stream upload. In order to integrate with CrushFTP the files are temporarily stored as a local file (CrushFTP install folder/onedrive/) during the upload. It has a 10 MB upload limit.\\ |
About __Microsoft Graph Permission__ see more details at [https://learn.microsoft.com/en-us/graph/permissions-overview?tabs=http] (it explains Application Permission and Delegated Permission).\\ |
__!!!Constraint:__ The __Microsoft Graph REST API__ does not support direct __stream uploads__. To integrate with CrushFTP, files are temporarily saved as local files in the __onedrive/__ folder within the CrushFTP installation directory during the upload process. Note: __There is a 10 MB upload limit.__\\ |
At line 64 changed one line |
__Secret key:__ A new client secret needs to be created as well. Go to the "Certificate & secrets" and generate a new secret key. Click on New client secret:\\ |
!3. OneDrive Remote Item Settings:\\ |
At line 66 changed 2 lines |
[attachments|new_secret.png]\\ |
[attachments|secret_value.png]\\ |
__!!!Note__: To obtain the __Refresh Token__, the CrushFTP WebInterface’s host and port must match the __Redirect URL__ specified in the __Azure App Registration__. In our example, it was: http://localhost:9090 or https://your.crushftp.domain.com/\\ |
At line 69 changed one line |
__OneDrive remote item settings:__\\ |
Select the __OneDrive__ item type and click the __Get Refresh Token__ button. Provide the __Client ID__(See at App Registration -> Overview -> Application (client) ID), __Client Secret__(See at App Registration -> Manage -> Certificates & secrets), and __Tenant__(See at App Registration -> Overview -> Directory (tenant) ID).\\ |
At line 71 removed 4 lines |
__!!! The CrushFTP admin page URL must match the redirect URL.__ In our example: http://localhost:9090\\ |
\\ |
Select the OneDrive item type and click on the "Get Refresh Token" button. Provide the Client ID, Client Secret, and Tenant. Tenant: See your App registration -> Overview -> EndPoints. Based on the App Registration Account type it can be an id, common, or consumer.\\ |
\\ |
At line 77 changed one line |
Click on the "OK" button, log in with your Azure credentials, and allow CrushFTP to have access to your OneDrive files. After that the form will disappear and the username and password will be filled. Done.\\ |
Click the __OK__ button, sign in with your Azure credentials, and grant CrushFTP access to your __OneDrive__ files.\\ |
__!!! Note__: Be sure to sign in with the __Microsoft Account__ that has the __necessary permissions__, as configured in the Azure App Registration mentioned above. |
After authorization, the form will close, and the username and password fields will be automatically filled. You’re done!\\ |