3 using Microsoft.Extensions.Logging;
15 readonly ILogger<CredentialsProvider>
logger;
23 this.logger = logger ??
throw new ArgumentNullException(nameof(logger));
27 public CredentialsHandler GenerateHandler(
string username,
string password) => (a, b, supportedCredentialTypes) =>
29 var hasCreds = username != null;
30 var supportsUserPass = supportedCredentialTypes.HasFlag(SupportedCredentialTypes.UsernamePassword);
31 var supportsAnonymous = supportedCredentialTypes.HasFlag(SupportedCredentialTypes.Default);
33 logger.LogTrace(
"Credentials requested. Present: {0}. Supports anonymous: {1}. Supports user/pass: {2}", hasCreds, supportsAnonymous, supportsUserPass);
37 return new UsernamePasswordCredentials
44 if (supportsAnonymous)
45 return new DefaultCredentials();
48 throw new JobException(
"Remote does not support anonymous authentication!");
50 throw new JobException(
"Server does not support anonymous or username/password authentication!");
CredentialsProvider(ILogger< CredentialsProvider > logger)
Construct a CredentialsProvider
For generating CredentialsHandlers
readonly ILogger< CredentialsProvider > logger
The ILogger for the CredentialsProvider
Operation exceptions thrown from the context of a Models.Job