| File: DefaultNetworkCredentialsCredentialProvider.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.Credentials\NuGet.Credentials.csproj (NuGet.Credentials) |
// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. #nullable disable using System; using System.Net; using System.Threading; using System.Threading.Tasks; using NuGet.Configuration; namespace NuGet.Credentials { /// <summary> /// A credential provider which supplies <see cref="CredentialCache.DefaultNetworkCredentials"/> /// </summary> public class DefaultNetworkCredentialsCredentialProvider : ICredentialProvider { /// <summary> /// Unique identifier of this credential provider /// </summary> public string Id { get; } = $"{nameof(DefaultNetworkCredentialsCredentialProvider)}_{Guid.NewGuid()}"; /// <summary> /// Returns <see cref="CredentialCache.DefaultNetworkCredentials"/>, or /// <see cref="CredentialStatus.ProviderNotApplicable"/> if this is a retry /// </summary> /// <remarks> /// If the flag to delay using default credentials until after plugin credential provicers run is not enabled, /// this always returns <see cref="CredentialStatus.ProviderNotApplicable"/>. /// </remarks> /// <param name="uri">Ignored.</param> /// <param name="proxy">Ignored.</param> /// <param name="type">Ignored.</param> /// <param name="message">Ignored.</param> /// <param name="isRetry"> /// If true, returns <see cref="CredentialStatus.ProviderNotApplicable"/> instead of default credentials /// </param> /// <param name="nonInteractive">Ignored.</param> /// <param name="cancellationToken">Ignored.</param> public Task<CredentialResponse> GetAsync( Uri uri, IWebProxy proxy, CredentialRequestType type, string message, bool isRetry, bool nonInteractive, CancellationToken cancellationToken) { if (isRetry) { return Task.FromResult(new CredentialResponse(CredentialStatus.ProviderNotApplicable)); } return Task.FromResult( new CredentialResponse(CredentialCache.DefaultNetworkCredentials)); } } }