What is SharePoint Online Graph API / OAuth 2.0?

SharePoint Online OAuth 2.0 connectors behave almost identically to the original SharePoint Online connections. They utilize the same API calls and require the same setup and account permissions. They just use OAuth 2.0 to authenticate with SharePoint Online and OneDrive for Business.

What is the difference between OAuth 2.0 and the original SharePoint Online connections?

There are several differences between OAuth 2.0 connections and original SharePoint Online connections.

First using the OAuth 2.0 flow for authentication allows for clients with MFA enabled to use DryvIQ to migrate their content. Also, since many customers are disabling legacy authentication this form of authentication will be the only way to connect to Office 365 platforms.

Second, Microsoft will be using our registered application id to track rate limits, this id is only visible to Microsoft when using OAuth 2.0, this may allow clients higher rate limits before getting throttled.

Third, the OAuth 2.0 connection requires a global admin to give consent the first time it is used, afterwards any user can be used to create a connection between DryvIQ and Office 365. For clients that cannot allow the permission Have full control of all your site collections, please contact us and the DryvIQ team can assist with a Custom App Registration.

Finally, these connections will utilize Microsoft's Graph API to perform native change detection on libraries. This will drastically reduce the number of calls required to check large libraries for any changes as well as reduce job execution time.

When should OAuth 2.0 connections be used?

OAuth 2.0 connections should be the preferred way to connect to SharePoint Online and OneDrive for Business going forward. Functionality is the same in all ways except in change detection. The only time it should not be used is if a client is unwilling to globally authorize our application as our application requests permissions that must be approved by a global administrator.

For clients that cannot allow the permission Have full control of all your site collections, please contact us and the DryvIQ team can assist with a Custom App Registration

Can a custom Azure Storage Account we configured?

When migrating to Office 365 and utilizing batch mode with Migration API, is there a way to specify a custom Azure Storage Account or do we just default to a temporary Storage Account until content is committed to Office 365?

No, not at this time.

DryvIQ uses the default storage account that is leveraged by the Migration API for the Office 365 tenant that you are migrating to. The CSOM call that DryvIQ makes is to provision a migration storage account and message queue will guarantee that the storage account is the storage account is in the same data center as the Office 365 tenant. This will also improve performance. 

Any content uploaded to the migration storage account will eventually be deleted after use. 

The migration storage account will not incur any additional costs

How do I update all my existing connections to use OAuth 2.0?

The best way to update all your existing jobs that are using Office 365 or OneDrive for Business legacy connections is to duplicate / clone the job and replace with the new connection. 

OneDrive for Business OAuth 2.0 connections assumes Documents as the root.

If your previous job included Documents in the locations path, you must remove it when duplicating/cloning.


How to Create an OAuth 2.0 Connection

Features and Limitations

Platforms all have unique features and limitations. DryvIQ’s transfer engine manages these differences between platforms and allows you to configure actions based on Job Policies and Behaviors. Utilize the Platform Comparison tool to see how your integration platforms may interact regarding features and limitations.

(tick) SharePoint Online OAuth 2.0 Connections must have full control of all SharePoint site collections. For clients that cannot allow the permission Have full control of all your site collections, please contact us and the DryvIQ team can assist with a Custom App Registration.

(tick) OneDrive for BusinessOAuth 2.0 Connections are automatically configured to the Documents library.

(error) When configuring your job JSON, do not include "Documents" in the location path, such as /Documents/FolderName.

(tick) Correct configuration path: /FolderName

Files/Folders

SharePoint Online OAuth 2.0 connections have the following file/folder restrictions.  

Transferring Microsoft Lists is not supported.

Connection Pooling

Impersonation 

Impersonation is not supported for SharePoint Online. Impersonation is only supported for OneDrive for Business. 

Lock Events

Graph API does not support lock event detection without the use of a separate API call, which will slow down change detection. The workaround is to disable native event detection to transfer locks in each job run or to use a soft reset to transfer locks as needed. 

Mapping

Metadata Mapping

Timestamps

Version Deletes