private CacheIdentityClient()

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());
    }