fix: [#2782] Migrate to MSAL from adal-node #4548
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2782
Description
This PR removes the deprecated
adal-node
dependency and all related code, in favor of using@azure/msal-node
.We have updated all internal code structure related to bot authentication when using ADAL to start using MSAL instead. These changes include a refactor to be more closely similar to DotNet's implementation.
Additionally, we took the opportunity to add the missing
x5c
(SNI) parameter value for Certificate authentication.Specific Changes
adal-node
references and dependencies.AppCredentials
AuthenticatorResult
interface in favor ofadal.TokenResponse
to avoid future type breaking changes.CertificateAppCredentials
x5c
(SNI) parameter to be passed in to MSAL.ManagedIdentityAppCredentials
refreshToken
result.MicrosoftAppCredentials
MsalAppCredentials
refreshToken
result.nock
mocks because of the new MSAL implementation behaves differently than ADAL.Testing
The following image shows the Skills' bots working after the changes, and how we tested using certificates with the new
x5c
parameter.