Skip to content
This repository has been archived by the owner on Jun 30, 2023. It is now read-only.

ADAL.NET 5.x needs to provide an extensibility mechanism so that partners provide their own Web View #1521

Closed
jmprieur opened this issue Mar 7, 2019 · 1 comment
Assignees
Milestone

Comments

@jmprieur
Copy link
Contributor

jmprieur commented Mar 7, 2019

Is your feature request related to a problem? Please describe.
Some partners need to provide their own Web View

Describe the solution you'd like
Like in MSAL.NET, provide an extensibility mechanism: a new interface ICustomWebUi to be implemented by extenders

namespace Microsoft.IdentityModel.Clients.ActiveDirectory.Extensibility {
    public interface ICustomWebUi {
        Task<Uri> AcquireAuthorizationCodeAsync(Uri authorizationUri, Uri redirectUri);
    }

On the .NET Framework - both .NET Fx and .NET Core - provide a new constructor to PlatformParameters

  public class PlatformParameters : IPlatformParameters {
        public PlatformParameters(PromptBehavior promptBehavior, ICustomWebUi customWebUi);
        public ICustomWebUi CustomWebUi { get; }
    }

Add more error messages to surface errors with extensions:

    public static class AdalError {
        public const string CustomWebUiRedirectUriMismatch = "custom_webui_invalid_mismatch";
        public const string CustomWebUiReturnedInvalidUri = "custom_webui_returned_invalid_uri";
        public const string HttpRequestTimeoutResilience = "http_request_timeout";
        public const string NetStandardCustomWebUi = "netcore_custom_webui";
        public const string StateMismatchError = "state_mismatch";
    }

and in .NET core provide both the class and the constructor
See https://aka.ms/msal-net-3x for details about the MSAL.NET

@jmprieur jmprieur added this to the 5.0.0 milestone Mar 7, 2019
@trwalke
Copy link
Member

trwalke commented Mar 8, 2019

Addressed in ADAL V5.0.0-preview

@trwalke trwalke closed this as completed Mar 8, 2019
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants