Capgemini / xrm-datamigration

Export and import data for Microsoft Dataverse. Supports JSON and CSV.
MIT License
24 stars 11 forks source link

Update authentication method to support Oauth #54

Closed Dave-Robertson92 closed 3 years ago

Dave-Robertson92 commented 3 years ago

Is your feature request related to a problem? Please describe. Office 365 is deprecated and insecure by modern standards

Describe the solution you'd like support Oauth by updating Microsoft.CrmSdk.CoreTools to atleast version 9.1.0.13, also if using the https://github.com/seanmcne/Microsoft.Xrm.Data.PowerShell this will require updating also

Additional context https://docs.microsoft.com/en-us/power-platform/important-changes-coming#deprecation-of-office365-authentication-type-and-organizationserviceproxy-class-for-connecting-to-dataverse

tdashworth commented 3 years ago

Hi @Dave-Robertson92, I have just checked over this code and that package is never used.

I have read through the MS docs regarding this (https://docs.microsoft.com/en-us/powerapps/developer/data-platform/authenticate-office365-deprecation) and apart from some sample connection strings, there was only one violation in the CLI tool. I will make a PR for this soon.

Are you facing any specific problems?

Dave-Robertson92 commented 3 years ago

Hi @tdashworth,

apologies, if I'm mistaken or you already know this.

Microsoft.CrmSdk.CoreTools is a collection of tools, this includes using "Microsoft.Xrm.Tooling.Connector;" which is one of the important tools relating to this issue I raised.

I did a search and found 4 locations this Microsoft.Xrm.Tooling.Connector is used,

-tests/Capgemini.Xrm.DataMigration.Core.IntegrationTests/Helpers/ConnectionHelper.cs

I suspect this tool has a previous and uses the old tooling connector which I've found on other tools, does not support Oauth connection strings ie one of the replacements for the deprecated method (office 365)

tdashworth commented 3 years ago

I have run the integration tests and samples with an OAuth connection string which have all worked. I don't think any packages actually need updating :)

Closing this issue.