diff --git a/DigitalData.Auth.Claims/CookieNames.cs b/DigitalData.Auth.Claims/CookieNames.cs index 140440f..8f8ebc4 100644 --- a/DigitalData.Auth.Claims/CookieNames.cs +++ b/DigitalData.Auth.Claims/CookieNames.cs @@ -16,13 +16,21 @@ namespace DigitalData.Auth.Claims public static string GetEnvelopeReceiverCookieName(string defaultCookieName, string key) => defaultCookieName + ReceiverSuffix + key; + /// + /// Builds the cookie name for an envelope receiver token. + /// + /// The unique envelope receiver key. + /// A cookie name in the format {defaultCookieName}SignFLOWReceiver.{key}. + public static string GetEnvelopeReceiverCookieName(string key) + => "AuthToken" + ReceiverSuffix + key; + /// /// Extracts the envelope receiver key from a cookie name, or returns if the cookie name does not match the expected format. /// /// The full cookie name in the format {defaultCookieName}SignFLOWReceiver.{key}. /// The base cookie name configured in AuthApiParams. /// The envelope receiver key, or if the cookie name does not match the expected format. - public static string? GetEnvelopeReceiverKeyOrDefault(string cookieName, string defaultCookieName) + public static string? GetEnvelopeKeyOrDefault(string cookieName, string defaultCookieName = "AuthToken") { var prefix = defaultCookieName + ReceiverSuffix; return cookieName.StartsWith(prefix, StringComparison.Ordinal) @@ -31,15 +39,27 @@ namespace DigitalData.Auth.Claims } /// - /// Tries to extract the envelope receiver key from a cookie name. + /// Tries to extract the envelope key from a cookie name. /// /// The full cookie name in the format {defaultCookieName}SignFLOWReceiver.{key}. /// The base cookie name configured in AuthApiParams. - /// The extracted envelope receiver key if the cookie name matches the expected format; otherwise . + /// The extracted envelope key if the cookie name matches the expected format; otherwise . /// if the key was successfully extracted; otherwise . - public static bool TryGetEnvelopeReceiverKey(string cookieName, string defaultCookieName, out string? key) + public static bool TryGetEnvelopeKey(string cookieName, string defaultCookieName, out string? key) { - key = GetEnvelopeReceiverKeyOrDefault(cookieName, defaultCookieName); + key = GetEnvelopeKeyOrDefault(cookieName, defaultCookieName); + return key is not null; + } + + /// + /// Tries to extract the envelope key from a cookie name. + /// + /// The full cookie name in the format {defaultCookieName}SignFLOWReceiver.{key}. + /// The extracted envelope key if the cookie name matches the expected format; otherwise . + /// if the key was successfully extracted; otherwise . + public static bool TryGetEnvelopeKey(string cookieName, out string? key) + { + key = GetEnvelopeKeyOrDefault(cookieName, "AuthToken"); return key is not null; } } diff --git a/DigitalData.Auth.Tests/Claims/CookieNamesTests.cs b/DigitalData.Auth.Tests/Claims/CookieNamesTests.cs index 1fdc012..b229ba1 100644 --- a/DigitalData.Auth.Tests/Claims/CookieNamesTests.cs +++ b/DigitalData.Auth.Tests/Claims/CookieNamesTests.cs @@ -28,7 +28,7 @@ public class CookieNamesTests var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key); // Act - var result = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName); + var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName); // Assert Assert.That(result, Is.EqualTo(Key)); @@ -41,7 +41,7 @@ public class CookieNamesTests var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key); // Act - var result = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName); + var result = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName); // Assert Assert.That(result, Is.Null); @@ -51,7 +51,7 @@ public class CookieNamesTests public void GetEnvelopeReceiverKeyOrDefault_ShouldReturnNull_WhenCookieNameIsUnrelated() { // Act - var result = CookieNames.GetEnvelopeReceiverKeyOrDefault("SomeOtherCookie", DefaultCookieName); + var result = CookieNames.GetEnvelopeKeyOrDefault("SomeOtherCookie", DefaultCookieName); // Assert Assert.That(result, Is.Null); @@ -64,7 +64,7 @@ public class CookieNamesTests var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key); // Act - var success = CookieNames.TryGetEnvelopeReceiverKey(cookieName, DefaultCookieName, out var key); + var success = CookieNames.TryGetEnvelopeKey(cookieName, DefaultCookieName, out var key); // Assert Assert.Multiple(() => @@ -81,7 +81,7 @@ public class CookieNamesTests var cookieName = CookieNames.GetEnvelopeReceiverCookieName("OtherCookie", Key); // Act - var success = CookieNames.TryGetEnvelopeReceiverKey(cookieName, DefaultCookieName, out var key); + var success = CookieNames.TryGetEnvelopeKey(cookieName, DefaultCookieName, out var key); // Assert Assert.Multiple(() => @@ -95,7 +95,7 @@ public class CookieNamesTests public void TryGetEnvelopeReceiverKey_ShouldReturnFalse_WhenCookieNameIsUnrelated() { // Act - var success = CookieNames.TryGetEnvelopeReceiverKey("SomeOtherCookie", DefaultCookieName, out var key); + var success = CookieNames.TryGetEnvelopeKey("SomeOtherCookie", DefaultCookieName, out var key); // Assert Assert.Multiple(() => @@ -112,7 +112,7 @@ public class CookieNamesTests var cookieName = CookieNames.GetEnvelopeReceiverCookieName(DefaultCookieName, Key); // Act - var extractedKey = CookieNames.GetEnvelopeReceiverKeyOrDefault(cookieName, DefaultCookieName); + var extractedKey = CookieNames.GetEnvelopeKeyOrDefault(cookieName, DefaultCookieName); // Assert Assert.That(extractedKey, Is.EqualTo(Key));