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)); }