-
Notifications
You must be signed in to change notification settings - Fork 155
Description
The protocol defines ROPC flow for Confidential Client:
https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc
MSAL4J does not support this. However, other MSAL libraries such as MSAL for Python do support this.
There is a disclaimer that the reason it's not implemented is because ROPC is, in general, not recommended. However, other MSAL libraries do support this. Therefore MSAL4J demonstrates inconsistency.
More importantly, MSAL4J thus does not implement one of the possible scenarios defined by the protocol.
Another argument is that, currently, to enable ROPC flow we have to switch on 'Enable Public Flow' in the Azure AD App settings even if our application is not, in its nature, public. With ROPC for Confidental Client supported we won't need to switch 'Enable Public Flow' for confidential clients using ROPC.
Implementing this seems to be very straightforward. It's moving acquireToken(UserNamePasswordParameters) into AbstractClientApplcationBase and, correspondingly, into IClientApplicationBase.
This has already been done for MSAL for Python. (AzureAD/microsoft-authentication-library-for-python#344)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status