예제 #1
0
        public async Task <Client> GetAsync(Int32 clientId)
        {
            Client client = await _inner.GetAsync(clientId);

            if (client != null)
            {
                _logger.LogTrace("Validate client : {validator}", _validatorType);

                ConfigurationValidationContext <Client> context = new ConfigurationValidationContext <Client>(client);
                await _validator.ValidateAsync(context);

                if (context.IsValid)
                {
                    _logger.LogDebug("Client configuration validation for {clientId} succeeded", client.ClientId);
                    return(client);
                }
                else
                {
                    _logger.LogError("Invalid client configuration for {clientId}: {error}", client.ClientId, context.ErrorMessage);
                    //await _events.RaiseAsync(new InvalidConfigurationEvent<Client>(client, context.ErrorMessage));

                    return(null);
                }
            }

            return(null);
        }
예제 #2
0
        private async Task <ClientConfigurationValidationContext> ValidateAsync(Client client)
        {
            var context = new ClientConfigurationValidationContext(client);
            await _validator.ValidateAsync(context);

            return(context);
        }
예제 #3
0
        /// <summary>
        /// Finds a client by id (and runs the validation logic)
        /// </summary>
        /// <param name="clientId">The client id</param>
        /// <returns>
        /// The client or an InvalidOperationException
        /// </returns>
        public async Task <Client> FindClientByIdAsync(string clientId)
        {
            var client = await _inner.FindClientByIdAsync(clientId);

            if (client != null)
            {
                _logger.LogTrace("Calling into client configuration validator: {validatorType}", _validatorType);

                var context = new ClientConfigurationValidationContext(client);
                await _validator.ValidateAsync(context);

                if (context.IsValid)
                {
                    _logger.LogDebug("client configuration validation for client {clientId} succeeded.", client.ClientId);
                    return(client);
                }

                _logger.LogError("Invalid client configuration for client {clientId}: {errorMessage}", client.ClientId, context.ErrorMessage);
                await _events.RaiseAsync(new InvalidClientConfigurationEvent(client, context.ErrorMessage));

                return(null);
            }

            return(null);
        }
    public async Task ValidateAsync()
    {
        var context = new ClientConfigurationValidationContext(_testClient);

        await _abpClientConfigurationValidator.ValidateAsync(context);

        context.IsValid.ShouldBeTrue();
    }