public static string GetCookie(HttpRequestHeaders headers, string name)
 {
     var cookies = headers.GetCookies(name).FirstOrDefault();
     if (cookies == null) return null;
     var cookie = cookies.Cookies.SingleOrDefault(x => x.Name == name);
     return cookie == null ? null : cookie.Value;
 }
예제 #2
0
        public string GetValueStorage(HttpRequestHeaders context, string key)
        {
            
            var cookie = context.GetCookies(key).FirstOrDefault();
            if (cookie != null)
                return cookie[key].Value;

            return null;
        }
        private static string GetCookieValue(IAbpAntiForgeryManager manager, HttpRequestHeaders headers)
        {
            var cookie = headers.GetCookies(manager.Configuration.TokenCookieName).LastOrDefault();
            if (cookie == null)
            {
                return null;
            }

            return cookie[manager.Configuration.TokenCookieName].Value;
        }
예제 #4
0
        public static UserDataPrincipal InitFromAuthCookie(HttpRequestHeaders headers)
        {
            string authCookieName = FormsAuthentication.FormsCookieName;

            var cookieValues = headers.GetCookies(authCookieName);
            CookieHeaderValue authCookieValue = cookieValues.FirstOrDefault();
            if (authCookieValue == null)
                return null;

            CookieState authCookie = authCookieValue[authCookieName];
            return DecryptAuthTicket(authCookie.Value);
        }
        /// <summary>
        /// Validates the headers/cookies passed in for the request
        /// </summary>
        /// <param name="requestHeaders"></param>
        /// <param name="failedReason"></param>
        /// <returns></returns>
        public static bool ValidateHeaders(HttpRequestHeaders requestHeaders, out string failedReason)
        {
            failedReason = "";

            if (requestHeaders.Any(z => z.Key.InvariantEquals(AngularHeadername)) == false)
            {
                failedReason = "Missing token";
                return false;
            }

            var headerToken = requestHeaders
                .Where(z => z.Key.InvariantEquals(AngularHeadername))
                .Select(z => z.Value)
                .SelectMany(z => z)
                .FirstOrDefault();

            var cookieToken = requestHeaders
                .GetCookies()
                .Select(c => c[CsrfValidationCookieName])
                .FirstOrDefault();

            // both header and cookie must be there
            if (cookieToken == null || headerToken == null)
            {
                failedReason = "Missing token null";
                return false;
            }

            if (ValidateTokens(cookieToken.Value, headerToken) == false)
            {
                failedReason = "Invalid token";
                return false;
            }
            
            return true;
        }
 public static Models.OpenIdToken TokenFromCookie(HttpRequestHeaders headers)
 {
     CookieHeaderValue sessionCookie = headers.GetCookies(TokenCookieName).FirstOrDefault();
     return TokenFromCookie(sessionCookie[TokenCookieName].Values, true);
 }