-
Notifications
You must be signed in to change notification settings - Fork 617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[rush] Add ChainedCredential
to AzureAuthenticationBase
to handle auth failover and add support for developer tools credentials
#5169
base: main
Are you sure you want to change the base?
Conversation
rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureAuthenticationBase.ts
Show resolved
Hide resolved
common/changes/@microsoft/rush/bmiddha-chained-authentication_2025-03-21-17-39.json
Outdated
Show resolved
Hide resolved
rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureAuthenticationBase.ts
Show resolved
Hide resolved
rush-plugins/rush-azure-storage-build-cache-plugin/src/ChainedCredential.ts
Outdated
Show resolved
Hide resolved
ChainedTokenCredential
and add support for developer tools credentials
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a minor bit of cleanup left.
common/reviews/api/rush-azure-storage-build-cache-plugin.api.md
Outdated
Show resolved
Hide resolved
ChainedTokenCredential
and add support for developer tools credentialsChainedCredential
to AzureAuthenticationBase
to handle auth failover and add support for developer tools credentials
@@ -35,7 +35,9 @@ export abstract class AzureAuthenticationBase { | |||
// (undocumented) | |||
deleteCachedCredentialsAsync(terminal: ITerminal): Promise<void>; | |||
// (undocumented) | |||
protected readonly _failoverOrder: Record<LoginFlowType, LoginFlowType | undefined>; | |||
protected readonly _failoverOrder: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated types here to allow for a subset of LoginFlowType keys to be defined in the Record.
else, bumping rush version would break type checks if only some of the LoginFlowTypes were defined in the record.
Summary
Implement credential failover with
ChainedTokenCredential
from@azure/identity
.Add support for
VisualStudioCodeCredential
,AzureCliCredential
,AzureDeveloperCliCredential
, andAzurePowerShellCredential
. These can help reduce or eliminate the interactive browser popups or device code prompts, which can be annoying.Details
Implement credential failover with
ChainedTokenCredential
from@azure/identity
New default credential failover order:
AdoCodespacesAuthCredential
VisualStudioCodeCredential
AzureCliCredential
AzureDeveloperCliCredential
AzurePowerShellCredential
InteractiveBrowserCredential
DeviceCodeCredential
Add support for new login flows
VisualStudioCodeCredential
,AzureCliCredential
,AzureDeveloperCliCredential
,AzurePowerShellCredential
.Updated
AdoCodespacesAuthCredential
to throwCredentialUnavailableError
to play nicely with the chaining.How it was tested
Manually tested in a repo that uses Azure backed build cache.
Impacted documentation