in src/CacheIdentityClient.cs [29:46]
private CacheIdentityClient(Func<ValueTask<AccessToken>> getToken)
=> _getToken = async () => new TokenResult(await getToken.Invoke().ConfigureAwait(false));
private CacheIdentityClient(Func<Task<AuthenticationResult>> getToken)
=> _getToken = async () => new TokenResult(await getToken.Invoke().ConfigureAwait(false));
internal static ICacheIdentityClient CreateForManagedIdentity(AzureCacheOptions options)
{
var clientApp = ManagedIdentityApplicationBuilder.Create(
options.ClientId is null ?
ManagedIdentityId.SystemAssigned
: Guid.TryParse(options.ClientId, out _) ?
ManagedIdentityId.WithUserAssignedClientId(options.ClientId)
: ManagedIdentityId.WithUserAssignedResourceId(options.ClientId))
.Build();
return new CacheIdentityClient(getToken: () => clientApp.AcquireTokenForManagedIdentity(options.Scope).ExecuteAsync());
}