8000 ADAL v3 · Issue #50 · projectkudu/ARMClient · GitHub
[go: up one dir, main page]

Skip to content

ADAL v3 #50

Open
Open

Description

@pjt33

Are there any plans to support ADAL v3?

The Microsoft.Azure.Management.*.Fluent packages depend on Microsoft.Rest.ClientRuntime.Azure.Authentication, which depends on Microsoft.IdentityModel.Clients.ActiveDirectory version 2.x under .Net Framework 4.5.2 but version 3.x under .Net Framework 4.6.1.

Since .Net Framework 4.5.2 is the very oldest framework not yet to be out of support, it seems a bit risky to target it. But the API change between Microsoft.IdentityModel.Clients.ActiveDirectory 2.x and 3.x breaks ARMClient quite badly: all of the methods it uses from AuthenticationContext are either renamed or removed.

Half of the problems are easily handled by shimming the missing AcquireToken methods with extension methods which call AcquireTokenAsync, but the other half are due to ADAL v3 not exposing refresh tokens. AIUI AcquireTokenSilentAsync is supposed to replace AcquireTokenByRefreshTokenAsync, but I don't understand ADAL well enough to be confident in writing a patch for this.

Activity

  1. suwatch commented on Oct 25, 2019

    @suwatch
    Member

    Is there any scenario we are missing and require ADAL v3?

  2. pjt33 commented on Oct 25, 2019

    @pjt33
    Author

    The scenario is using ARMClient to acquire tokens for use with the current Azure management libraries and .Net framework. Strictly speaking it can be done without ADAL v3 by doing complicated hacks to load one version of Microsoft.IdentityModel.Clients.ActiveDirectory into one appdomain for token acquisition and another version into a different appdomain for the Azure management, but that's not exactly KISS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0