✨
This commit is contained in:
36
StopShopping.Api/Extensions/HttpExtensions.cs
Normal file
36
StopShopping.Api/Extensions/HttpExtensions.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using StopShopping.Services.Extensions;
|
||||
|
||||
namespace Microsoft.AspNetCore.Http;
|
||||
|
||||
public static class HttpExtensions
|
||||
{
|
||||
public const string REFRESH_TOKEN_COOKIE_KEY = "refresh_token";
|
||||
|
||||
public static IResponseCookies AppendRefreshToken(
|
||||
this IResponseCookies cookies,
|
||||
IWebHostEnvironment env,
|
||||
AppOptions appOptions,
|
||||
TimeSpan maxAge,
|
||||
string token)
|
||||
{
|
||||
CookieOptions options = new()
|
||||
{
|
||||
MaxAge = maxAge,
|
||||
HttpOnly = true,
|
||||
SameSite = SameSiteMode.Lax,
|
||||
};
|
||||
if (!env.IsDevelopment())
|
||||
{
|
||||
options.SameSite = SameSiteMode.None;
|
||||
options.Secure = true;
|
||||
options.Domain = appOptions.CookieDomain;
|
||||
}
|
||||
|
||||
cookies.Append(
|
||||
REFRESH_TOKEN_COOKIE_KEY,
|
||||
token,
|
||||
options);
|
||||
|
||||
return cookies;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user