Ejemplo n.º 1
0
        public static UserValidationResult ResetSessionExpiration(string sessionToken)
        {
            if (string.IsNullOrEmpty(sessionToken))
            {
                return(UserValidationResult.Invalid(UserValidationStatus.ImproperHeaderStructure, "Could not authenticate user, Authorization or SessionToken headers likely missing.", null));
            }
            //throw new ArgumentNullException("sessionToken");

            var userStatus = AuthenticateMobile(requirePin: true);

            if (userStatus.Status == UserValidationStatus.Success ||
                userStatus.Status == UserValidationStatus.PinExpired ||
                userStatus.Status == UserValidationStatus.SessionTokenExpired)
            {
                var result = ApiSessionModel.ResetSessionExpiration(userStatus.User, HttpContext.Current.Request.Headers["PIN"].ToInt2());
                if (!result)
                {
                    return(UserValidationResult.Invalid(UserValidationStatus.PinInvalid));
                }

                userStatus.Status = UserValidationStatus.Success;
            }

            return(userStatus);
        }
Ejemplo n.º 2
0
        public static UserValidationResult ResetSessionExpiration(CMSDataContext cmsdb, CMSImageDataContext cmsidb, string sessionToken)
        {
            if (string.IsNullOrEmpty(sessionToken))
            {
                return(UserValidationResult.Invalid(UserValidationStatus.ImproperHeaderStructure, "Could not authenticate user, Authorization or SessionToken headers likely missing.", null));
            }

            var userStatus = AuthenticateMobile(cmsdb, cmsidb, requirePin: true);

            if (userStatus.Status == UserValidationStatus.Success ||
                userStatus.Status == UserValidationStatus.PinExpired ||
                userStatus.Status == UserValidationStatus.SessionTokenExpired)
            {
                var result = ApiSessionModel.ResetSessionExpiration(cmsdb, userStatus.User, HttpContextFactory.Current.Request.Headers["PIN"].ToInt2());
                if (!result)
                {
                    return(UserValidationResult.Invalid(UserValidationStatus.PinInvalid));
                }

                userStatus.Status = UserValidationStatus.Success;
            }

            return(userStatus);
        }