Exemplo n.º 1
0
        public Task SendEventAsync(object message, string routingKey)
        {
            EnsureArg.IsNotNull(message, nameof(message));
            EnsureArg.IsNotNullOrWhiteSpace(routingKey, nameof(routingKey));

            return(Task.Run(() =>
            {
                var eventMessage = new EventMessage
                {
                    JsonMessage = JsonConvert.SerializeObject(message),
                    RoutingKey = routingKey
                };

                _busProvider.BasicPublish(eventMessage);
            }));
        }
Exemplo n.º 2
0
        public async Task <SecretWrapper> SetSecretAsync(string secretName, string secretValue, CancellationToken cancellationToken)
        {
            EnsureArg.IsNotNullOrWhiteSpace(secretName, nameof(secretName));
            EnsureArg.IsNotNullOrWhiteSpace(secretValue, nameof(secretValue));

            SecretBundle result = await _keyVaultClient.SetSecretAsync(
                _keyVaultUri.AbsoluteUri,
                secretName,
                secretValue,
                tags : null,
                contentType : null,
                secretAttributes : null,
                cancellationToken);

            return(new SecretWrapper(result.Id, result.Value));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ChainedExpression"/> class.
        /// </summary>
        /// <param name="resourceType">The resource type that supports this search expression.</param>
        /// /// <param name="paramName">The search parameter name.</param>
        /// <param name="targetResourceType">The target resource type.</param>
        /// <param name="expression">The search expression.</param>
        public ChainedExpression(
            ResourceType resourceType,
            string paramName,
            ResourceType targetResourceType,
            Expression expression)
        {
            EnsureArg.IsTrue(Enum.IsDefined(typeof(ResourceType), resourceType), nameof(resourceType));
            EnsureArg.IsNotNullOrWhiteSpace(paramName, nameof(paramName));
            EnsureArg.IsTrue(Enum.IsDefined(typeof(ResourceType), targetResourceType), nameof(targetResourceType));
            EnsureArg.IsNotNull(expression, nameof(expression));

            ResourceType       = resourceType;
            ParamName          = paramName;
            TargetResourceType = targetResourceType;
            Expression         = expression;
        }
        public async Task <TokenValidationResult> ValidateAsync(string audience, TokenModel tokenModel, CancellationToken cancellationToken = default)
        {
            EnsureArg.IsNotNullOrWhiteSpace(audience, nameof(audience));
            EnsureArg.IsNotNull(tokenModel, nameof(tokenModel));
            var token = tokenModel.Value;

            EnsureArg.IsNotNullOrWhiteSpace(token, nameof(token));

            if (!_tokenHandler.CanReadToken(token))
            {
                throw new TokenValidationException(I18n.TokenMalformed);
            }

            var securityToken = _tokenHandler.ReadJwtToken(token);

            var issuer = securityToken.Issuer;

            if (string.IsNullOrWhiteSpace(issuer))
            {
                throw new TokenValidationException(I18n.NoIssuer);
            }

            if (!securityToken.Audiences.Contains(audience))
            {
                throw new TokenValidationException(I18n.TokenAudienceError);
            }

            var tokenDescriptor = await _tokenRepository.GetAsync(issuer, audience, cancellationToken)
                                  ?? throw new TokenValidationException(I18n.NotRegistered);

            if (!tokenDescriptor.IsActive)
            {
                throw new TokenValidationException(I18n.TokenDisabled);
            }

            ValidateJwt(token, issuer, tokenDescriptor.Audience, tokenDescriptor.PrivateKey);

            if ((securityToken.ValidTo - securityToken.ValidFrom).TotalSeconds > tokenDescriptor.Ttl)
            {
                throw new TokenValidationException(I18n.TokenTtlLarge);
            }

            return(new TokenValidationResult
            {
                Expiration = (securityToken.ValidTo - securityToken.ValidFrom).TotalSeconds
            });
        }
Exemplo n.º 5
0
        public async Task <DicomWebResponse <DicomFile> > RetrieveInstanceAsync(
            string studyInstanceUid,
            string seriesInstanceUid,
            string sopInstanceUid,
            string dicomTransferSyntax          = DicomWebConstants.OriginalDicomTransferSyntax,
            string partitionName                = default,
            CancellationToken cancellationToken = default)
        {
            EnsureArg.IsNotNullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid));
            EnsureArg.IsNotNullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid));
            EnsureArg.IsNotNullOrWhiteSpace(sopInstanceUid, nameof(sopInstanceUid));

            return(await RetrieveInstanceAsync(
                       GenerateRequestUri(string.Format(DicomWebConstants.BaseInstanceUriFormat, studyInstanceUid, seriesInstanceUid, sopInstanceUid), partitionName),
                       dicomTransferSyntax,
                       cancellationToken).ConfigureAwait(false));
        }
Exemplo n.º 6
0
        public ExportJobRecord(Uri exportRequestUri, string hash, IReadOnlyCollection <KeyValuePair <string, string> > requestorClaims = null)
        {
            EnsureArg.IsNotNull(exportRequestUri, nameof(exportRequestUri));
            EnsureArg.IsNotNullOrWhiteSpace(hash, nameof(hash));

            RequestUri      = exportRequestUri;
            Hash            = hash;
            RequestorClaims = requestorClaims;

            // Default values
            SchemaVersion = 1;
            Id            = Guid.NewGuid().ToString();
            Status        = OperationStatus.Queued;

            QueuedTime = DateTimeOffset.UtcNow;
            SecretName = SecretPrefix + Id;
        }