diff --git a/src/AzureAuth.Test/PublicClientAuthTest.cs b/src/AzureAuth.Test/PublicClientAuthTest.cs index c6ff5e3..ab938ea 100644 --- a/src/AzureAuth.Test/PublicClientAuthTest.cs +++ b/src/AzureAuth.Test/PublicClientAuthTest.cs @@ -25,7 +25,7 @@ namespace AzureAuth.Test internal class PublicClientAuthTest { private readonly AuthParameters authParams = new AuthParameters( - Fake.Client, + Fake.Client.ToString(), Fake.Tenant, Fake.Scopes); diff --git a/src/AzureAuth/Commands/CommandAad.cs b/src/AzureAuth/Commands/CommandAad.cs index 575fce5..fd597cd 100644 --- a/src/AzureAuth/Commands/CommandAad.cs +++ b/src/AzureAuth/Commands/CommandAad.cs @@ -366,7 +366,7 @@ private bool ValidateOptions() private int ClearLocalCache() { var pca = PublicClientApplicationBuilder.Create(this.authSettings.Client).Build(); - var pcaWrapper = new PCAWrapper(this.logger, pca, new List(), new Guid(this.authSettings.Tenant)); + var pcaWrapper = new PCAWrapper(this.logger, pca, new List(), this.authSettings.Tenant); var accounts = pcaWrapper.TryToGetCachedAccountsAsync().Result; while (accounts.Any()) diff --git a/src/MSALWrapper.Benchmark/BrokerBenchmark.cs b/src/MSALWrapper.Benchmark/BrokerBenchmark.cs index 5c03013..971a0e4 100644 --- a/src/MSALWrapper.Benchmark/BrokerBenchmark.cs +++ b/src/MSALWrapper.Benchmark/BrokerBenchmark.cs @@ -52,14 +52,14 @@ public void WarmUp() [Benchmark] public void NativeBrokerBenchmark() { - var pcaWrapper = BuildPCAWrapper(this.logger, this.clientID, this.tenantID); + var pcaWrapper = BuildPCAWrapper(this.logger, this.clientID, this.tenantID.ToString()); AuthParameters authParameters = new AuthParameters(this.clientID, this.tenantID, this.scopes); Broker broker = new Broker(this.logger, authParameters, pcaWrapper: pcaWrapper); broker.GetTokenAsync().Wait(); } - private IPCAWrapper BuildPCAWrapper(ILogger logger, Guid clientId, Guid tenantId) + private IPCAWrapper BuildPCAWrapper(ILogger logger, Guid clientId, string tenantId) { IList errors = new List(); diff --git a/src/MSALWrapper.Test/AuthFlow/AuthFlowExecutorTest.cs b/src/MSALWrapper.Test/AuthFlow/AuthFlowExecutorTest.cs index c81b752..d1bf664 100644 --- a/src/MSALWrapper.Test/AuthFlow/AuthFlowExecutorTest.cs +++ b/src/MSALWrapper.Test/AuthFlow/AuthFlowExecutorTest.cs @@ -29,7 +29,7 @@ public class AuthFlowExecutorTest private TokenResult tokenResult; private IStopwatch stopwatch; private Guid client = Guid.NewGuid(); - private Guid tenant = Guid.NewGuid(); + private string tenant = Guid.NewGuid().ToString(); [SetUp] public void Setup() diff --git a/src/MSALWrapper.Test/PCACacheTest.cs b/src/MSALWrapper.Test/PCACacheTest.cs index 1fe419c..d3aba24 100644 --- a/src/MSALWrapper.Test/PCACacheTest.cs +++ b/src/MSALWrapper.Test/PCACacheTest.cs @@ -22,7 +22,7 @@ namespace Microsoft.Authentication.MSALWrapper.Test public class PCACacheTest { private Mock loggerMock; - private Guid testTenantId; + private string testTenantId; private PCACache pcaCache; /// @@ -32,7 +32,7 @@ public class PCACacheTest public void Setup() { this.loggerMock = new Mock(); - this.testTenantId = Guid.NewGuid(); + this.testTenantId = Guid.NewGuid().ToString(); this.pcaCache = new PCACache(this.loggerMock.Object, this.testTenantId); } @@ -140,7 +140,7 @@ public void PlainTextCache_CreatesDirectoryAndFileWithCorrectPermissions() var originalWaylandDisplay = Environment.GetEnvironmentVariable("WAYLAND_DISPLAY"); var homeDir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); var testCacheDir = Path.Combine(homeDir, ".azureauth"); - var testTenantId = Guid.NewGuid(); + var testTenantId = Guid.NewGuid().ToString(); var testCacheFile = Path.Combine(testCacheDir, $"msal_{testTenantId}_cache.json"); try @@ -243,7 +243,7 @@ public void Constructor_InitializesFieldsCorrectly() { // Arrange var logger = new Mock().Object; - var tenantId = Guid.NewGuid(); + var tenantId = Guid.NewGuid().ToString(); // Act var cache = new PCACache(logger, tenantId); @@ -260,8 +260,8 @@ public void Constructor_WithDifferentTenantIds_CreatesDifferentInstances() { // Arrange var logger = new Mock().Object; - var tenantId1 = Guid.NewGuid(); - var tenantId2 = Guid.NewGuid(); + var tenantId1 = Guid.NewGuid().ToString(); + var tenantId2 = Guid.NewGuid().ToString(); // Act var cache1 = new PCACache(logger, tenantId1); @@ -498,7 +498,7 @@ public void SetupTokenCache_OnError_LogsWarning() var loggerMock = new Mock(); var userTokenCacheMock = new Mock(); var errors = new List(); - var cache = new PCACache(loggerMock.Object, Guid.NewGuid()); + var cache = new PCACache(loggerMock.Object, Guid.NewGuid().ToString()); try { @@ -550,7 +550,7 @@ public void MultipleInstances_SameTenantId_UseSameCacheFileName() { // Arrange var logger = new Mock().Object; - var tenantId = Guid.NewGuid(); + var tenantId = Guid.NewGuid().ToString(); // Act var cache1 = new PCACache(logger, tenantId); @@ -559,7 +559,7 @@ public void MultipleInstances_SameTenantId_UseSameCacheFileName() // Assert // Both instances should be configured to use the same cache file name pattern var expectedCacheFileName = $"msal_{tenantId}.cache"; - expectedCacheFileName.Should().Contain(tenantId.ToString()); + expectedCacheFileName.Should().Contain(tenantId); } /// @@ -643,7 +643,7 @@ public void Constructor_WithEmptyGuid_CreatesInstance() { // Arrange var logger = new Mock().Object; - var emptyGuid = Guid.Empty; + var emptyGuid = Guid.Empty.ToString(); // Act var cache = new PCACache(logger, emptyGuid); diff --git a/src/MSALWrapper/AuthFlow/Broker.cs b/src/MSALWrapper/AuthFlow/Broker.cs index f7b5884..29a17fe 100644 --- a/src/MSALWrapper/AuthFlow/Broker.cs +++ b/src/MSALWrapper/AuthFlow/Broker.cs @@ -146,7 +146,7 @@ private IntPtr GetParentWindowHandle() return ancestorHandle; } - private IPCAWrapper BuildPCAWrapper(Guid clientId, Guid tenantId) + private IPCAWrapper BuildPCAWrapper(Guid clientId, string tenantId) { var clientBuilder = PublicClientApplicationBuilder diff --git a/src/MSALWrapper/AuthFlow/CachedAuth.cs b/src/MSALWrapper/AuthFlow/CachedAuth.cs index 56690ab..efb8ecf 100644 --- a/src/MSALWrapper/AuthFlow/CachedAuth.cs +++ b/src/MSALWrapper/AuthFlow/CachedAuth.cs @@ -85,7 +85,7 @@ protected override async Task GetTokenInnerAsync() return await GetTokenAsync(this.logger, this.scopes, account, this.pcaWrapper, this.errors); } - private IPCAWrapper BuildPCAWrapper(Guid clientId, Guid tenantId) + private IPCAWrapper BuildPCAWrapper(Guid clientId, string tenantId) { var clientBuilder = PublicClientApplicationBuilder diff --git a/src/MSALWrapper/AuthFlow/DeviceCode.cs b/src/MSALWrapper/AuthFlow/DeviceCode.cs index 2121507..395f6d6 100644 --- a/src/MSALWrapper/AuthFlow/DeviceCode.cs +++ b/src/MSALWrapper/AuthFlow/DeviceCode.cs @@ -72,7 +72,7 @@ private Task DeviceCodeAuth(CancellationToken cancellationToken) cancellationToken); } - private IPCAWrapper BuildPCAWrapper(Guid clientId, Guid tenantId) + private IPCAWrapper BuildPCAWrapper(Guid clientId, string tenantId) { var httpFactoryAdaptor = new MsalHttpClientFactoryAdaptor(); var clientBuilder = diff --git a/src/MSALWrapper/AuthFlow/IntegratedWindowsAuthentication.cs b/src/MSALWrapper/AuthFlow/IntegratedWindowsAuthentication.cs index f3017f0..80903b8 100644 --- a/src/MSALWrapper/AuthFlow/IntegratedWindowsAuthentication.cs +++ b/src/MSALWrapper/AuthFlow/IntegratedWindowsAuthentication.cs @@ -84,7 +84,7 @@ private async Task Iwa(CancellationToken cancellationToken) return await this.pcaWrapper.GetTokenIntegratedWindowsAuthenticationAsync(this.scopes, cancellationToken); } - private IPCAWrapper BuildPCAWrapper(Guid clientId, Guid tenantId) + private IPCAWrapper BuildPCAWrapper(Guid clientId, string tenantId) { var clientBuilder = PublicClientApplicationBuilder diff --git a/src/MSALWrapper/AuthFlow/Web.cs b/src/MSALWrapper/AuthFlow/Web.cs index aa196a5..9b87ca4 100644 --- a/src/MSALWrapper/AuthFlow/Web.cs +++ b/src/MSALWrapper/AuthFlow/Web.cs @@ -94,7 +94,7 @@ private Func> GetTokenInteractiveWithClaims .GetTokenInteractiveAsync(this.scopes, claims, cancellationToken); } - private IPCAWrapper BuildPCAWrapper(Guid clientId, Guid tenantId) + private IPCAWrapper BuildPCAWrapper(Guid clientId, string tenantId) { var httpFactoryAdaptor = new MsalHttpClientFactoryAdaptor(); var clientBuilder = diff --git a/src/MSALWrapper/AuthParameters.cs b/src/MSALWrapper/AuthParameters.cs index 06636ec..74d564c 100644 --- a/src/MSALWrapper/AuthParameters.cs +++ b/src/MSALWrapper/AuthParameters.cs @@ -15,7 +15,7 @@ public record AuthParameters public Guid Client { get; init; } /// Gets the Tenant Id. - public Guid Tenant { get; init; } + public string Tenant { get; init; } /// Gets the Scopes. public IEnumerable Scopes { get; init; } @@ -29,7 +29,7 @@ public record AuthParameters public AuthParameters(string client, string tenant, IEnumerable scopes) { this.Client = new Guid(client); - this.Tenant = new Guid(tenant); + this.Tenant = tenant; this.Scopes = scopes; } @@ -42,7 +42,7 @@ public AuthParameters(string client, string tenant, IEnumerable scopes) public AuthParameters(Guid client, Guid tenant, IEnumerable scopes) { this.Client = client; - this.Tenant = tenant; + this.Tenant = tenant.ToString(); this.Scopes = scopes; } } diff --git a/src/MSALWrapper/PCACache.cs b/src/MSALWrapper/PCACache.cs index b15dddb..989c85a 100644 --- a/src/MSALWrapper/PCACache.cs +++ b/src/MSALWrapper/PCACache.cs @@ -46,7 +46,7 @@ internal class PCACache /// /// The logger. /// The tenant id. - internal PCACache(ILogger logger, Guid tenantId) + internal PCACache(ILogger logger, string tenantId) { this.logger = logger; this.osxKeyChainSuffix = $"{OSXKeyChainCategory}.{tenantId}"; diff --git a/src/MSALWrapper/PCAWrapper.cs b/src/MSALWrapper/PCAWrapper.cs index 0cb22ed..84d65ed 100644 --- a/src/MSALWrapper/PCAWrapper.cs +++ b/src/MSALWrapper/PCAWrapper.cs @@ -42,7 +42,7 @@ public PCAWrapper(ILogger logger, IPublicClientApplication pca) /// The public client application instance. /// The errors list to append error encountered to. /// The tenant ID to help key the cache off of. - public PCAWrapper(ILogger logger, IPublicClientApplication pca, IList errors, Guid tenantId) + public PCAWrapper(ILogger logger, IPublicClientApplication pca, IList errors, string tenantId) : this(logger, pca) { var cacher = new PCACache(logger, tenantId); diff --git a/src/TestHelper/Fake.cs b/src/TestHelper/Fake.cs index 3e7cdc5..2cbf6cf 100644 --- a/src/TestHelper/Fake.cs +++ b/src/TestHelper/Fake.cs @@ -10,7 +10,7 @@ public static class Fake public const string Domain = "contoso.com"; public const string Token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsInJoIjoieHh4IiwieDV0IjoieHh4Iiwia2lkIjoieHh4In0.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYXVkIjoiMTExMTExMTEtMTExMS0xMTExLTExMTEtMTExMTExMTExMTExIiwiaWF0IjoxNjE3NjY0Mjc2LCJuYmYiOjE2MTc2NjQyNzYsImV4cCI6MTYxNzY2ODE3NiwiYWNyIjoiMSIsImFpbyI6IllTQjBiM1JoYkd4NUlHWmhhMlVnYTJWNUlDTWtKVjQ9Iiwic2NwIjoidXNlcl9pbXBlcnNvbmF0aW9uIiwidW5pcXVlX25hbWUiOiJreXJhZGVyQG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJreXJhZGVyQG1pY3Jvc29mdC5jb20iLCJ2ZXIiOiIxLjAifQ.bNc3QlL4zIClzFqH68A4hxsR7K-jabQvzB2EodgujQqc0RND_VLVkk2h3iDy8so3azN-964c2z5AiBGY6PVtWKYB-h0Z_VnzbebhDjzPLspEsANyQxaDX_ugOrf7BerQOtILWT5Vqs-A3745Bh0eTDFZpobmeENpANNhRE-yKwScjU8BDY9RimdrA2Z00V0lSliUQwnovWmtfdlbEpWObSFQAK7wCcNnUesV-jNZAUMrDkmTItPA9Z1Ks3NUbqdqMP3D6n99sy8DxQeFmbNQGYocYqI7QH24oNXODq0XB-2zpvCqy4T2jiBLgN_XEaZ5zTzEOzztpgMIWH1AUvEIyw"; public static readonly Guid Client = new Guid("a7b59161-cd70-46e9-aca5-883f24060eb1"); - public static readonly Guid Tenant = new Guid("a7b59161-cd70-46e9-aca5-883f24060eb2"); + public static readonly string Tenant = "a7b59161-cd70-46e9-aca5-883f24060eb2"; public static readonly Guid Resource = new Guid("a7b59161-cd70-46e9-aca5-883f24060eb3"); public static readonly string[] Scopes = new[] { $"{Resource}/.default" }; }