public static void CreateCookie <T>( T cookieObject, string key, DateTime?expiredTime = null, Func <T, string> resolveObjectToStr = null, bool isSecurity = true) { var newCookie = new HttpCookie(key); string cookieValue = null; cookieValue = cookieObject is string ?Convert.ToString(cookieObject) : resolveObjectToStr?.Invoke(cookieObject); if (string.IsNullOrEmpty(cookieValue)) { throw new NullReferenceException("set cookie value is null"); } newCookie.Value = cookieValue; if (expiredTime.HasValue) { newCookie.Expires = expiredTime.Value; } if (isSecurity) { newCookie = CookieSecure.Encode(newCookie); } HttpContext.Current?.Response.Cookies.Add(newCookie); }
private void SetAccessToken(AccessTokenData accessToken) { var cookie = new HttpCookie(AccessTokenKey) { HttpOnly = true, Expires = DateTime.Today.AddSeconds(accessToken.ExpiresIn), Value = JsonConvert.SerializeObject(accessToken) }; HttpContext.Current.Response.SetCookie(CookieSecure.Encode(cookie, CookieProtection.Encryption)); }