diff --git a/src/Bifrost.Web/Features/Heimdall/HeimdallAuthService.cs b/src/Bifrost.Web/Features/Heimdall/HeimdallAuthService.cs index 2491b8c..7f32908 100644 --- a/src/Bifrost.Web/Features/Heimdall/HeimdallAuthService.cs +++ b/src/Bifrost.Web/Features/Heimdall/HeimdallAuthService.cs @@ -105,7 +105,8 @@ public sealed class HeimdallAuthService( requireMemberAccess, returnPath, timeProvider.GetUtcNow() + HeimdallAttemptCookie.Lifetime); - return new HeimdallAuthStartResult(new Uri(payload.AuthorizationUrl, UriKind.Absolute), nonce, Protect(attempt)); + return new HeimdallAuthStartResult( + new Uri(payload.AuthorizationUrl, UriKind.Absolute), HeimdallAttemptCookie.NameFor(nonce)!, Protect(attempt)); } public async Task CompleteAsync( @@ -347,7 +348,7 @@ public sealed class HeimdallAuthService( public class HeimdallAuthException(string message) : InvalidOperationException(message); -public sealed record HeimdallAuthStartResult(Uri AuthorizationUrl, string Nonce, string CookieValue); +public sealed record HeimdallAuthStartResult(Uri AuthorizationUrl, string CookieName, string CookieValue); public sealed record HeimdallCompletedSignIn(ClaimsPrincipal Principal, LocalReturnPath ReturnPath); diff --git a/src/Bifrost.Web/Program.cs b/src/Bifrost.Web/Program.cs index 0123ce5..3d7beaa 100644 --- a/src/Bifrost.Web/Program.cs +++ b/src/Bifrost.Web/Program.cs @@ -379,10 +379,7 @@ app.MapGet("/auth/heimdall/{provider}", async ( requireMemberAccess, cancellationToken); - httpContext.Response.Cookies.Append( - HeimdallAttemptCookie.NameFor(start.Nonce), - start.CookieValue, - HeimdallAttemptCookie.Options()); + httpContext.Response.Cookies.Append(start.CookieName, start.CookieValue, HeimdallAttemptCookie.Options()); return Results.Redirect(start.AuthorizationUrl.ToString()); } catch (HeimdallAuthException error) diff --git a/tests/Bifrost.Web.Tests/HeimdallCompletionTests.cs b/tests/Bifrost.Web.Tests/HeimdallCompletionTests.cs index 853bd1f..21a26f8 100644 --- a/tests/Bifrost.Web.Tests/HeimdallCompletionTests.cs +++ b/tests/Bifrost.Web.Tests/HeimdallCompletionTests.cs @@ -699,8 +699,7 @@ public sealed class HeimdallCompletionTests Assert.Equal(string.Empty, await start.Content.ReadAsStringAsync()); } - Assert.Contains("Heimdall start refused: Unsupported Heimdall provider.", string.Join(" -", host.Logs.Lines)); + Assert.Contains("Heimdall start refused: Unsupported Heimdall provider.", string.Join("\n", host.Logs.Lines)); Assert.Contains("Heimdall start refused: Heimdall provider does not support Bifrost member access.", string.Join("\n", host.Logs.Lines)); }