36 lines
825 B
C#
36 lines
825 B
C#
|
|
using StopShopping.Services.Extensions;
|
|
|
|
namespace Microsoft.AspNetCore.Http;
|
|
|
|
public static class HttpExtensions
|
|
{
|
|
public const string REFRESH_TOKEN_COOKIE_KEY = "user_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,
|
|
Domain = appOptions.CookieDomain,
|
|
};
|
|
|
|
if (!env.IsDevelopment())
|
|
options.Secure = true;
|
|
|
|
cookies.Append(
|
|
REFRESH_TOKEN_COOKIE_KEY,
|
|
token,
|
|
options);
|
|
|
|
return cookies;
|
|
}
|
|
}
|