public async Task AcquireTokenSilentlyAsync()

in CredentialProvider.Microsoft/CredentialProviders/Vsts/MSAL/MsalTokenProvider.cs [80:108]


        public async Task<IMsalToken> AcquireTokenSilentlyAsync(CancellationToken cancellationToken)
        {
            var publicClient = await GetPCAAsync().ConfigureAwait(false);
            var accounts = await publicClient.GetAccountsAsync();

            try
            {
                foreach (var account in accounts)
                {
                    try
                    {
                        var silentBuilder = publicClient.AcquireTokenSilent(new string[] { resource }, account);
                        var result = await silentBuilder.ExecuteAsync(cancellationToken);
                        return new MsalToken(result);
                    }
                    catch (MsalUiRequiredException)
                    { }
                    catch (MsalServiceException)
                    { }
                }
            }
            finally
            {
                var helper = await GetMsalCacheHelperAsync();
                helper?.UnregisterCache(publicClient.UserTokenCache);
            }

            return null;
        }