public async Task <IToken> GetAsync(string tokenId)
        {
            var pk = TokenEntity.GeneratePartitionKey();
            var rk = TokenEntity.GenerateRowKey(tokenId);

            return(await _tableStorage.GetDataAsync(pk, rk));
        }
        public async Task SaveTokenAsync(IToken token)
        {
            if (token is TokenEntity ts)
            {
                ts.PartitionKey = TokenEntity.GeneratePartitionKey();
                ts.RowKey       = token.TokenId;
            }
            else
            {
                var pk = TokenEntity.GeneratePartitionKey();
                var rk = TokenEntity.GenerateRowKey(token.TokenId);
                ts = await _tableStorage.GetDataAsync(pk, rk)
                     ?? new TokenEntity
                {
                    PartitionKey = pk, RowKey = rk
                };

                ts.TokenId    = token.TokenId;
                ts.AccessList = token.AccessList;
                ts.IpList     = token.IpList;
            }

            await _tableStorage.InsertOrMergeAsync(ts);
        }