Compare commits

...

2 Commits

Author SHA1 Message Date
Luke Tomlinson
a755837bc8 more fallback 2025-04-07 15:07:41 -07:00
Luke Tomlinson
08b22bff1d start work for legacy url 2025-04-07 14:49:25 -07:00
2 changed files with 12 additions and 2 deletions

View File

@@ -135,7 +135,8 @@ namespace GitHub.Runner.Listener.Configuration
runnerSettings.GitHubUrl = inputUrl; runnerSettings.GitHubUrl = inputUrl;
registerToken = await GetRunnerTokenAsync(command, inputUrl, "registration"); registerToken = await GetRunnerTokenAsync(command, inputUrl, "registration");
GitHubAuthResult authResult = await GetTenantCredential(inputUrl, registerToken, Constants.RunnerEvent.Register); GitHubAuthResult authResult = await GetTenantCredential(inputUrl, registerToken, Constants.RunnerEvent.Register);
runnerSettings.ServerUrl = authResult.TenantUrl; var hasLegacyUrl = !string.IsNullOrEmpty(authResult.LegacyUrl);
runnerSettings.ServerUrl = hasLegacyUrl ? authResult.LegacyUrl : authResult.TenantUrl;
runnerSettings.UseV2Flow = authResult.UseV2Flow; runnerSettings.UseV2Flow = authResult.UseV2Flow;
Trace.Info($"Using V2 flow: {runnerSettings.UseV2Flow}"); Trace.Info($"Using V2 flow: {runnerSettings.UseV2Flow}");
creds = authResult.ToVssCredentials(); creds = authResult.ToVssCredentials();

View File

@@ -96,14 +96,23 @@ namespace GitHub.Runner.Listener.Configuration
[DataMember(Name = "use_v2_flow")] [DataMember(Name = "use_v2_flow")]
public bool UseV2Flow { get; set; } public bool UseV2Flow { get; set; }
[DataMember(Name = "legacy_url")]
public string LegacyUrl { get; set; }
[DataMember(Name = "legacy_token")]
public string LegacyToken { get; set; }
public VssCredentials ToVssCredentials() public VssCredentials ToVssCredentials()
{ {
ArgUtil.NotNullOrEmpty(TokenSchema, nameof(TokenSchema)); ArgUtil.NotNullOrEmpty(TokenSchema, nameof(TokenSchema));
ArgUtil.NotNullOrEmpty(Token, nameof(Token)); ArgUtil.NotNullOrEmpty(Token, nameof(Token));
var hasLegacyToken = !string.IsNullOrEmpty(LegacyToken);
var token = hasLegacyToken ? LegacyToken : Token;
if (string.Equals(TokenSchema, "OAuthAccessToken", StringComparison.OrdinalIgnoreCase)) if (string.Equals(TokenSchema, "OAuthAccessToken", StringComparison.OrdinalIgnoreCase))
{ {
return new VssCredentials(new VssOAuthAccessTokenCredential(Token), CredentialPromptType.DoNotPrompt); return new VssCredentials(new VssOAuthAccessTokenCredential(token), CredentialPromptType.DoNotPrompt);
} }
else else
{ {