public virtual string ValidateAccessToken(string value)
        {
            ACToken token;

            try
            {
                var    tokenParts = value.Split('.');
                string tokenBase64 = tokenParts[0], tokenSign = tokenParts[1];
                token = JsonConvert.DeserializeObject <ACToken>(tokenBase64.Base64ToString());
                if (DateTime.UtcNow > token.Expires)
                {
                    throw new AiurAPIModelException(ErrorType.Unauthorized, "Token was timed out!");
                }
                if (!_rsa.VerifyData(tokenBase64.Base64ToString(), tokenSign))
                {
                    throw new AiurAPIModelException(ErrorType.Unauthorized, "Invalid signature! Token could not be authorized!");
                }
            }
            catch (Exception e)
            {
                throw new AiurAPIModelException(ErrorType.Unauthorized, $"Token was not in a valid format and can not be verified! Details: {e.Message}");
            }
            return(token.AppId);
        }