示例#1
0
        public async Task <CookiePullModel> CreateCookieDataInstanceAsync(string data, DateTimeOffset expiration, CookieType cookieType, BPAuthContext context)
        {
            var cookieCode = "";
            var pullModel  = new CookiePullModel();

            using (var encrypt = new EncryptionHandler())
            {
                cookieCode = encrypt.RandomString(random.Next(20, 50));
            }
            pullModel.Code       = cookieCode;
            pullModel.Expiration = expiration;
            // now let's create this cookie
            var cookie = new Cookie {
                Code       = cookieCode,
                Data       = data,
                DateSet    = DateTimeOffset.Now,
                Expiration = expiration,
                CookieType = cookieType
            };

            context.Cookies.Add(cookie);
            var methodResults = await context.SaveChangesAsync(context);

            if (methodResults.Success)
            {
                pullModel.ID = cookie.ID;
            }
            else
            {
                return(new CookiePullModel());
            }

            return(pullModel);
        }
示例#2
0
        public HttpCookie CreateCookie(string name, DateTimeOffset expiration, CookiePullModel pullModel)
        {
            var cookie = new HttpCookie($"{cookiePrefix}{name}");

            cookie["ID"]   = pullModel.ID.ToString();
            cookie["Code"] = pullModel.Code;
            cookie.Expires = new DateTime(expiration.Year, expiration.Month, expiration.Day);
            return(cookie);
        }