public bool CheckRefreshToken(FunctionContext <dynamic> fc, string refreshToken, string accessToken)
        {
            string filter = TableQuery.CombineFilters(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "REFRESH_TOKEN"), TableOperators.And,

                                                      TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, refreshToken));

            fc.Log.LogInformation(filter);
            IEnumerable <RefreshTokenTE> res = fc.Table.ExecuteQuery(new TableQuery <RefreshTokenTE>().Where(filter));

            if (res.Any())
            {
                RefreshTokenTE token = res.First();

                if (token.AccessToken.Equals(accessToken))
                {
                    fc.Table.Execute(TableOperation.Delete(token));
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
        private string createRefreshToken(FunctionContext <dynamic> fc, string accessToken)
        {
            DateTime expiresIn = DateTime.Now;

            expiresIn.AddSeconds(JWTService.Expires_In_AccessToken);
            string         refreshToken = Guid.NewGuid().ToString();
            RefreshTokenTE rtTE         = new RefreshTokenTE();

            rtTE.AccessToken  = accessToken;
            rtTE.Expires      = expiresIn;
            rtTE.RowKey       = refreshToken;
            rtTE.PartitionKey = "REFRESH_TOKEN";
            TableOperation insertOrMerge = TableOperation.InsertOrMerge(rtTE);

            fc.Table.ExecuteAsync(insertOrMerge);
            return(refreshToken);
        }