in src/Ingestor.cs [684:733]
private void EnableStorageUserAuthIfNeeded(ref string sourcePath, out IKustoTokenCredentialsProvider provider)
{
provider = null;
var semiColonSecret = ";impersonate";
var providerName = "light ingest blob list";
if (c_USER_PROMPT_AUTH.Equals(m_connectToStorageWithUserAuth, StringComparison.OrdinalIgnoreCase))
{
if (string.IsNullOrWhiteSpace(m_connectToStorageLoginUri))
{
provider = new AadUserPromptCredentialsProvider(providerName);
}
else
{
provider = new AadUserPromptCredentialsProvider(providerName, m_connectToStorageLoginUri);
}
}
else if (c_DEVICE_CODE_AUTH.Equals(m_connectToStorageWithUserAuth, StringComparison.OrdinalIgnoreCase))
{
AadDeviceCodeTokenCredentialProvider.DeviceCodeCallback callback = (msg, url, code) =>
{
Console.WriteLine("Device Code Message: {0}", msg);
return Task.CompletedTask;
};
if (string.IsNullOrWhiteSpace(m_connectToStorageLoginUri))
{
provider = new AadDeviceCodeTokenCredentialProvider(providerName, callback);
}
else
{
provider = new AadDeviceCodeTokenCredentialProvider(providerName, callback, m_connectToStorageLoginUri);
}
}
else if (c_AZ_CLI.Equals(m_connectToStorageWithUserAuth, StringComparison.OrdinalIgnoreCase))
{
provider = new AzCliTokenProvider(false);
}
else if (!string.IsNullOrEmpty(m_connectToStorageWithManagedIdentity))
{
provider = AadManagedIdentityTokenCredentialsProvider.CreateProviderFromString(m_connectToStorageWithManagedIdentity);
semiColonSecret = ";managed_identity=" + m_connectToStorageWithManagedIdentity;
}
if (provider != null)
{
sourcePath = sourcePath.SplitFirst(new[] { ';', '?' });
sourcePath += semiColonSecret;
}
}