public async Task <IValidationUserService.ValidateResult> ValidateAsync(HttpRequest req, IUser user)
        {
            if (string.IsNullOrWhiteSpace(user.UserUuid))
            {
                return(IValidationUserService.ValidateResult.Error);
            }

            Microsoft.Extensions.Primitives.StringValues value;
            if (!req.Headers.TryGetValue("Authorization", out value))
            {
                return(IValidationUserService.ValidateResult.Error);
            }
            if (value.Count != 1)
            {
                return(IValidationUserService.ValidateResult.Error);
            }
            var authorization = value.FirstOrDefault();

            if (string.IsNullOrEmpty(authorization))
            {
                return(IValidationUserService.ValidateResult.Error);
            }
            var splited = authorization.Split(' ');

            if (splited.Length != 2)
            {
                return(IValidationUserService.ValidateResult.Error);
            }
            var authorizationType = splited[0];
            var authorizationCode = splited[1];

            if (authorizationType != AuthorizationType)
            {
                return(IValidationUserService.ValidateResult.Error);
            }

            if (Cryption.ValidateSecret(user.UserUuid, authorizationCode))
            {
                return(new IValidationUserService.ValidateResult()
                {
                    IsValid = true,
                    User = null,
                    ErrorActionResult = null
                });
            }
            return(await Query(req, user, authorizationCode));
        }