Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }