Blazor library for reading, writing, removing, and listing browser cookies. Exposes a low-level ICookiesInterop for direct browser interop and a higher-level ICookiesUtil for app-facing usage.
dotnet add package Soenneker.Blazor.Utils.CookiesRegister cookie services in Program.cs:
builder.Services.AddCookiesUtilAsScoped();Inject the higher-level utility in components/services:
@inject ICookiesUtil Cookiesstring? theme = await Cookies.Get("theme");CookieGetResult result = await Cookies.TryGet("theme");
if (result.Found)
{
Console.WriteLine(result.Value);
}await Cookies.Set("theme", "dark", new CookieOptions
{
Path = "/",
MaxAge = TimeSpan.FromDays(30),
Secure = true,
SameSite = CookieSameSite.Lax
});await Cookies.Remove("theme");IReadOnlyDictionary<string, string> cookies = await Cookies.GetAll();
foreach ((string key, string value) in cookies)
{
Console.WriteLine($"{key}={value}");
}