Files
Disco/Disco.Web/Extensions/AntiForgeryExtensions.cs
2025-07-31 16:18:32 +10:00

31 lines
988 B
C#

using System.Web;
using System.Web.Helpers;
namespace Disco.Web
{
public static class AntiForgeryExtensions
{
public static string GetToken(HttpContextBase context)
{
var previousCookieToken = default(string);
var previousCookie = context.Request.Cookies[AntiForgeryConfig.CookieName];
if (previousCookie != null && !string.IsNullOrEmpty(previousCookie.Value))
previousCookieToken = previousCookie.Value;
AntiForgery.GetTokens(previousCookieToken, out var cookieToken, out var formToken);
if (cookieToken != null)
{
var httpCookie = new HttpCookie(AntiForgeryConfig.CookieName, cookieToken);
httpCookie.HttpOnly = true;
if (AntiForgeryConfig.RequireSsl)
httpCookie.Secure = true;
context.Response.Cookies.Set(httpCookie);
}
return formToken;
}
}
}