hevelius / files_external_onedrive

:mega: :floppy_disk: External storage support for Microsoft OneDrive
GNU General Public License v2.0
72 stars 22 forks source link

Nextcloud OneDrive Integration does not support Professional OneDrive (Enterprise) #64

Open heyvoon opened 3 years ago

heyvoon commented 3 years ago

I've been trying to following the instructions to use the Nextcloud OneDrive Integration but it does not support Professional OneDrive (Enterprise). Only personal OneDrive. Followed the instructions and when clicking on "Connect to OneDrive" I am taken to the Sign In page and it doesn't accept my company account. image

If I change the "signInAudience" attribute to "AzureADMyOrg" (Users with a Microsoft work or school account in my organization's Azure AD tenant (for example, single tenant)) I get the follwoing;

image

Below Please find the Manifest of my App;

{
    "id": "xxxxxxxx-1156-4faf-8055-5740b4db5a45",
    "acceptMappedClaims": null,
    "accessTokenAcceptedVersion": 2,
    "addIns": [],
    "allowPublicClient": null,
    "appId": "xxxxxxxx-ce65-4c95-88ec-c825d4b250c0",
    "appRoles": [],
    "oauth2AllowUrlPathMatching": false,
    "createdDateTime": "2021-07-14T12:34:47Z",
    "disabledByMicrosoftStatus": null,
    "groupMembershipClaims": null,
    "identifierUris": [],
    "informationalUrls": {
        "termsOfService": null,
        "support": null,
        "privacy": null,
        "marketing": null
    },
    "keyCredentials": [],
    "knownClientApplications": [],
    "logoUrl": null,
    "logoutUrl": null,
    "name": "Nextcloud OneDrive Integration",
    "oauth2AllowIdTokenImplicitFlow": false,
    "oauth2AllowImplicitFlow": false,
    "oauth2Permissions": [],
    "oauth2RequirePostResponse": false,
    "optionalClaims": null,
    "orgRestrictions": [],
    "parentalControlSettings": {
        "countriesBlockedForMinors": [],
        "legalAgeGroupRule": "Allow"
    },
    "passwordCredentials": [
        {
            "customKeyIdentifier": null,
            "endDate": "2099-11-30T23:00:00Z",
            "keyId": "xxxxxxxx-1d8d-46db-bd65-8f57757f6d95",
            "startDate": "2021-07-14T12:36:14.974Z",
            "value": null,
            "createdOn": "2021-07-14T12:36:16.0719968Z",
            "hint": "-S.",
            "displayName": "Nextcloud OneDrive"
        }
    ],
    "preAuthorizedApplications": [],
    "publisherDomain": "each.com",
    "replyUrlsWithType": [
        {
            "url": "https://each.com/index.php/apps/integration_onedrive/oauth-redirect",
            "type": "Web"
        }
    ],
    "requiredResourceAccess": [
        {
            "resourceAppId": "00000003-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "xxxxxxxx-2fba-42fe-b0c0-848c9e6a8182",
                    "type": "Scope"
                },
                {
                    "id": "xxxxxxxx-ba31-4d61-89e7-88639da4683d",
                    "type": "Scope"
                },
                {
                    "id": "xxxxxxxx-0667-486c-a5d6-d135439485f0",
                    "type": "Scope"
                }
            ]
        }
    ],
    "samlMetadataUrl": null,
    "signInUrl": null,
    "signInAudience": "AzureADandPersonalMicrosoftAccount",
    "tags": [],
    "tokenEncryptionKeyId": null
}
maxlehot1234 commented 3 years ago

Hi,

Anything on this?

I will need this integration for OneDrive business.

Thanks

heyvoon commented 3 years ago

Hi,

Anything on this?

I will need this integration for OneDrive business.

Thanks

Seems lke nobody is giving a dam!

felurx commented 2 years ago

Hey there! I've been trying to do the same, and these are my findings so far:

  1. You need to create your app with your organisation as the audience. (All orgs + private accounts requires some verification stuff that looks difficult.)
  2. Client ID needs to be the ID of your app, not the "Secret ID" value for the secret.
  3. Somehow, this integration needs to be made to use a org-specifc endpoint instead of https://login.microsoftonline.com/common/. (It's just the name of your org instead of common.)

I think I'll just try replacing the endpoint in the code in my Nextcloud install and hope that it doesn't end up exploding in my face. Wish me luck!

smoreau commented 3 months ago

I would love to have a solution for this as well.