带有userTokenCache的ConfidentialClientApplicationBuilder

问题描述 投票:0回答:1

我无法使用带有userTokenCache的ConfidentialClientClientApplicationBuilder。

示例中的代码看起来像这样,但是此代码现在已过时,我应该使用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代码

IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
                       .Create(_azureAdOptions.ClientId)
                       .WithAuthority(authority)
                       .WithRedirectUri(currentUri)
                       .WithCertificate(clientCertificate)
                       .Build();
msal
1个回答
0
投票

现在做的有些不同。

您单独初始化TokenCache实现,并将其附加到应用程序对象。请参阅this line以供参考。

强烈建议您研究如何最好地为MSAL实施令牌缓存。 TokenCacheProviders文件夹具有实现。

© www.soinside.com 2019 - 2024. All rights reserved.