public RefreshTokenId DecryptRefreshTokenId(EncryptedRefreshTokenId encryptedRefreshTokenId)
        {
            encryptedRefreshTokenId.AssertNotNull("encryptedRefreshTokenId");

            var encryptedBytes = Convert.FromBase64String(encryptedRefreshTokenId.Value);
            var decryptedBytes = this.encryptionService.Decrypt(encryptedBytes, true);

            return(new RefreshTokenId(new Guid(decryptedBytes).EncodeGuid()));
        }
        public async Task <RefreshToken> ExecuteAsync(EncryptedRefreshTokenId encryptedId)
        {
            encryptedId.AssertNotNull("encryptedId");

            using (var connection = this.connectionFactory.CreateConnection())
            {
                var results = await connection.QueryAsync <RefreshToken>(
                    Sql,
                    new { EncryptedId = encryptedId.Value });

                return(results.SingleOrDefault());
            }
        }