ConfidentialClientApplicationBuilder с userTokenCache - PullRequest
0 голосов
/ 29 февраля 2020

Я не могу использовать ConfidentialClientApplicationBuilder с userTokenCache.

Код в примерах выглядит примерно так, но этот код устарел, и я должен использовать ConfidentialClientApplicationBuilder.

ConfidentialClientApplication app;
            var request = httpContext.Request;
            var currentUri = UriHelper.BuildAbsolute(request.Scheme, request.Host, request.PathBase, _azureAdOptions.CallbackPath ?? string.Empty);
            var credential = new ClientCredential(_azureAdOptions.ClientSecret);
            TokenCache userTokenCache = _tokenCacheProvider.GetCache(httpContext, claimsPrincipal, authenticationProperties, signInScheme);
            string authority = $"{_azureAdOptions.Instance}{_azureAdOptions.TenantId}/";
            app = new ConfidentialClientApplication(_azureAdOptions.ClientId, authority, currentUri, credential, userTokenCache, null);
            return app;

ConfidentialClientApplicationBuilder Code

IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
                       .Create(_azureAdOptions.ClientId)
                       .WithAuthority(authority)
                       .WithRedirectUri(currentUri)
                       .WithCertificate(clientCertificate)
                       .Build();

1 Ответ

1 голос
/ 29 февраля 2020

Теперь все немного по-другому.

Вы инициализируете реализацию TokenCache отдельно и присоединяете ее к объекту приложения. см. эту строку для справки.

Настоятельно рекомендуется изучить, как лучше использовать Token Cache для MSAL. Папка TokenCacheProviders имеет свои реализации.

...