Exemple #1
0
        async public Task <ClientModel> FindClientByIdAsync(string clientId)
        {
            string id = clientId.ClientIdToHexId(_cryptoService);

            var collection = GetCollection();

            var document = await(await collection.FindAsync <ClientBlobDocument>(
                                     filter: Builders <ClientBlobDocument> .Filter.Eq("_id", id))
                                 ).FirstOrDefaultAsync();

            if (document != null)
            {
                return(_blobSerializer.DeserializeObject <ClientModel>(
                           _cryptoService.DecryptText(document.BlobData)));
            }

            return(null);
        }
Exemple #2
0
        async public Task <ApiResourceModel> FindApiResourceAsync(string name)
        {
            FileInfo fi = new FileInfo($"{ _rootPath }/{ name.NameToHexId(_cryptoService) }.api");

            if (!fi.Exists)
            {
                return(null);
            }

            using (var reader = File.OpenText(fi.FullName))
            {
                var fileText = await reader.ReadToEndAsync();

                fileText = _cryptoService.DecryptText(fileText);

                return(_blobSerializer.DeserializeObject <ApiResourceModel>(fileText));
            }
        }
        async public Task <ApiResourceModel> FindApiResourceAsync(string name)
        {
            string id = name.ApiNameToHexId(_cryptoService);

            var collection = GetApiResourceCollection();

            var document = await(await collection.FindAsync <ApiResourceDocument>(
                                     filter: Builders <ApiResourceDocument> .Filter.Eq("_id", id))
                                 ).FirstOrDefaultAsync();

            if (document != null)
            {
                return(_blobSerializer.DeserializeObject <ApiResourceModel>(
                           _cryptoService.DecryptText(document.BlobData)));
            }

            return(null);
        }
        async public Task <ClientModel> FindClientByIdAsync(string clientId)
        {
            FileInfo fi = new FileInfo($"{ _rootPath }/{ clientId.NameToHexId(_cryptoService) }.client");

            if (!fi.Exists)
            {
                return(null);
            }

            using (var reader = File.OpenText(fi.FullName))
            {
                var fileText = await reader.ReadToEndAsync();

                fileText = _cryptoService.DecryptText(fileText);

                return(_blobSerializer.DeserializeObject <ClientModel>(fileText));
            }
        }
Exemple #5
0
        async public Task <ApplicationRole> FindByIdAsync(string roleId, CancellationToken cancellationToken)
        {
            FileInfo fi = new FileInfo($"{ _rootPath }/{ roleId }.role");

            if (!fi.Exists)
            {
                return(null);
            }

            using (var reader = File.OpenText(fi.FullName))
            {
                var fileText = await reader.ReadToEndAsync();

                fileText = _cryptoService.DecryptText(fileText);

                return(_blobSerializer.DeserializeObject <ApplicationRole>(fileText));
            }
        }
Exemple #6
0
        async public Task <IEnumerable <SecretsLocker> > GetLockersAsync(CancellationToken cancellationToken)
        {
            List <SecretsLocker> secretLockers = new List <SecretsLocker>();

            foreach (var di in new DirectoryInfo(_rootPath).GetDirectories())
            {
                var fi = new FileInfo($"{ di.FullName }/_item.meta");
                if (fi.Exists)
                {
                    using (var reader = File.OpenText(fi.FullName))
                    {
                        var fileText = await reader.ReadToEndAsync();

                        fileText = _cryptoService.DecryptText(fileText);

                        secretLockers.Add(_blobSerializer.DeserializeObject <SecretsLocker>(fileText));
                    }
                }
            }

            return(secretLockers);
        }
        public static T Deserialize <T>(this BlobTableEntity entity, ICryptoService cryptoService, IBlobSerializer blobSerializer)
        {
            //var properties = entity?.WriteEntity(new OperationContext());
            //if (properties == null)
            //{
            //    return null;
            //}

            //var blobBase64 = properties["Blob"]?.StringValue;

            if (entity?.Blob == null)
            {
                return(default(T));
            }

            var bloblBase64 = entity.Blob;

            return(blobSerializer.DeserializeObject <T>(cryptoService.DecryptText(bloblBase64)));
        }