mirror of
https://github.com/actions/runner.git
synced 2025-12-16 06:57:25 +00:00
GitHub Actions Runner
This commit is contained in:
89
src/Sdk/AadAuthentication/VssAadSettings.cs
Normal file
89
src/Sdk/AadAuthentication/VssAadSettings.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using GitHub.Services.WebApi;
|
||||
using GitHub.Services.WebApi.Internal;
|
||||
|
||||
namespace GitHub.Services.Client
|
||||
{
|
||||
internal static class VssAadSettings
|
||||
{
|
||||
public const string DefaultAadInstance = "https://login.microsoftonline.com/";
|
||||
|
||||
public const string CommonTenant = "common";
|
||||
|
||||
// VSTS service principal.
|
||||
public const string Resource = "499b84ac-1321-427f-aa17-267ca6975798";
|
||||
|
||||
// Visual Studio IDE client ID originally provisioned by Azure Tools.
|
||||
public const string Client = "872cd9fa-d31f-45e0-9eab-6e460a02d1f1";
|
||||
|
||||
// AAD Production Application tenant.
|
||||
private const string ApplicationTenantId = "f8cdef31-a31e-4b4a-93e4-5f571e91255a";
|
||||
|
||||
#if !NETSTANDARD
|
||||
public static Uri NativeClientRedirectUri
|
||||
{
|
||||
get
|
||||
{
|
||||
Uri nativeClientRedirect = null;
|
||||
|
||||
try
|
||||
{
|
||||
string nativeRedirect = VssClientEnvironment.GetSharedConnectedUserValue<string>(VssConnectionParameterOverrideKeys.AadNativeClientRedirect);
|
||||
if (!string.IsNullOrEmpty(nativeRedirect))
|
||||
{
|
||||
Uri.TryCreate(nativeRedirect, UriKind.RelativeOrAbsolute, out nativeClientRedirect);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.WriteLine(string.Format("NativeClientRedirectUri: {0}", e));
|
||||
}
|
||||
|
||||
return nativeClientRedirect ?? new Uri("urn:ietf:wg:oauth:2.0:oob");
|
||||
}
|
||||
}
|
||||
|
||||
public static string ClientId
|
||||
{
|
||||
get
|
||||
{
|
||||
string nativeRedirect = VssClientEnvironment.GetSharedConnectedUserValue<string>(VssConnectionParameterOverrideKeys.AadNativeClientIdentifier);
|
||||
return nativeRedirect ?? VssAadSettings.Client;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static string AadInstance
|
||||
{
|
||||
get
|
||||
{
|
||||
#if !NETSTANDARD
|
||||
string aadInstance = VssClientEnvironment.GetSharedConnectedUserValue<string>(VssConnectionParameterOverrideKeys.AadInstance);
|
||||
#else
|
||||
string aadInstance = null;
|
||||
#endif
|
||||
|
||||
if (string.IsNullOrWhiteSpace(aadInstance))
|
||||
{
|
||||
aadInstance = DefaultAadInstance;
|
||||
}
|
||||
else if (!aadInstance.EndsWith("/"))
|
||||
{
|
||||
aadInstance = aadInstance + "/";
|
||||
}
|
||||
|
||||
return aadInstance;
|
||||
}
|
||||
}
|
||||
|
||||
#if !NETSTANDARD
|
||||
/// <summary>
|
||||
/// Application tenant either from a registry override or a constant
|
||||
/// </summary>
|
||||
public static string ApplicationTenant =>
|
||||
VssClientEnvironment.GetSharedConnectedUserValue<string>(VssConnectionParameterOverrideKeys.AadApplicationTenant)
|
||||
?? VssAadSettings.ApplicationTenantId;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user