From a755837bc88a5d54421452382b629958bc7917cd Mon Sep 17 00:00:00 2001 From: Luke Tomlinson Date: Mon, 7 Apr 2025 15:07:41 -0700 Subject: [PATCH] more fallback --- src/Runner.Listener/Configuration/ConfigurationManager.cs | 3 ++- src/Runner.Listener/Configuration/CredentialManager.cs | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs index 4021ad1bc..7fc7ee101 100644 --- a/src/Runner.Listener/Configuration/ConfigurationManager.cs +++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs @@ -135,7 +135,8 @@ namespace GitHub.Runner.Listener.Configuration runnerSettings.GitHubUrl = inputUrl; registerToken = await GetRunnerTokenAsync(command, inputUrl, "registration"); GitHubAuthResult authResult = await GetTenantCredential(inputUrl, registerToken, Constants.RunnerEvent.Register); - runnerSettings.ServerUrl = authResult.LegacyUrl ?? authResult.TenantUrl; + var hasLegacyUrl = !string.IsNullOrEmpty(authResult.LegacyUrl); + runnerSettings.ServerUrl = hasLegacyUrl ? authResult.LegacyUrl : authResult.TenantUrl; runnerSettings.UseV2Flow = authResult.UseV2Flow; Trace.Info($"Using V2 flow: {runnerSettings.UseV2Flow}"); creds = authResult.ToVssCredentials(); diff --git a/src/Runner.Listener/Configuration/CredentialManager.cs b/src/Runner.Listener/Configuration/CredentialManager.cs index 890b51245..6699eca05 100644 --- a/src/Runner.Listener/Configuration/CredentialManager.cs +++ b/src/Runner.Listener/Configuration/CredentialManager.cs @@ -99,14 +99,20 @@ namespace GitHub.Runner.Listener.Configuration [DataMember(Name = "legacy_url")] public string LegacyUrl { get; set; } + [DataMember(Name = "legacy_token")] + public string LegacyToken { get; set; } + public VssCredentials ToVssCredentials() { ArgUtil.NotNullOrEmpty(TokenSchema, nameof(TokenSchema)); ArgUtil.NotNullOrEmpty(Token, nameof(Token)); + var hasLegacyToken = !string.IsNullOrEmpty(LegacyToken); + var token = hasLegacyToken ? LegacyToken : Token; + if (string.Equals(TokenSchema, "OAuthAccessToken", StringComparison.OrdinalIgnoreCase)) { - return new VssCredentials(new VssOAuthAccessTokenCredential(Token), CredentialPromptType.DoNotPrompt); + return new VssCredentials(new VssOAuthAccessTokenCredential(token), CredentialPromptType.DoNotPrompt); } else {