public override Task <GetAuthenticationCredentialsResponse> HandleRequestAsync(GetAuthenticationCredentialsRequest request)
        {
            try
            {
                var response = _credentialProvider.HandleRequest(request);
                if (response != null && response.ResponseCode == MessageResponseCode.Success)
                {
                    return(Task.FromResult(response));
                }
            }
            catch (Exception e)
            {
                Logger.Log(LogLevel.Error, $"Failed to acquire credentials: {e}");

                return(Task.FromResult(new GetAuthenticationCredentialsResponse(
                                           username: null,
                                           password: null,
                                           message: e.Message,
                                           authenticationTypes: null,
                                           responseCode: MessageResponseCode.Error)));
            }

            return(Task.FromResult(new GetAuthenticationCredentialsResponse(
                                       username: null,
                                       password: null,
                                       message: null,
                                       authenticationTypes: null,
                                       responseCode: MessageResponseCode.NotFound)));
        }