in CredentialProvider.Microsoft/CredentialProviders/Vsts/MSAL/MsalTokenProvider.cs [142:174]
public async Task<IMsalToken> AcquireTokenWithWindowsIntegratedAuth(CancellationToken cancellationToken)
{
var publicClient = await GetPCAAsync().ConfigureAwait(false);
try
{
string upn = WindowsIntegratedAuthUtils.GetUserPrincipalName();
if (upn == null)
{
return null;
}
var builder = publicClient.AcquireTokenByIntegratedWindowsAuth(new string[] { resource});
builder.WithUsername(upn);
var result = await builder.ExecuteAsync(cancellationToken);
return new MsalToken(result);
}
catch (MsalServiceException e)
{
if (e.ErrorCode.Contains(MsalError.AuthenticationCanceledError))
{
return null;
}
throw;
}
finally
{
var helper = await GetMsalCacheHelperAsync();
helper?.UnregisterCache(publicClient.UserTokenCache);
}
}