private static async Task Remember(HttpContext context, int id) { var guid = Guid.NewGuid(); context.Response.Cookies.Append("guid", guid.ToString()); await RememberedGuids.Add(guid, id); }
public static void Exit(HttpContext context) { if (context.Session.GetInt32("user_id") != null) { context.Session.Remove("user_id"); } var guid = context.Request.Cookies["guid"]; //If no cookie - exception or default? context.Response.Cookies.Append("guid", "null"); if (Guid.TryParse(guid, out var parsed)) { RememberedGuids.Remove(parsed); } }
public static async Task AddSessionIfRemembered(HttpContext context) { var guid = context.Request.Cookies["guid"]; //If no cookie - exception or default? if (guid != null && guid != "null") { var id = await RememberedGuids.GetIdOr0(Guid.Parse(guid)); if (id > 0) { context.Session.SetInt32("user_id", id); } } }