@@ -67,6 +67,17 @@ public static ManagementAPI.Builder newBuilder(String domain, String apiToken) {
6767 return new ManagementAPI .Builder (domain , apiToken );
6868 }
6969
70+ /**
71+ * Instantiate a new {@link Builder} to configure and build a new ManagementAPI client.
72+ *
73+ * @param domain the tenant's domain. Must be a non-null valid HTTPS domain.
74+ * @param tokenProvider the API Token provider to use when making requests.
75+ * @return a Builder for further configuration.
76+ */
77+ public static ManagementAPI .Builder newBuilder (String domain , TokenProvider tokenProvider ) {
78+ return new ManagementAPI .Builder (domain , tokenProvider );
79+ }
80+
7081 private ManagementAPI (String domain , TokenProvider tokenProvider , Auth0HttpClient httpClient ) {
7182 Asserts .assertNotNull (domain , "domain" );
7283 Asserts .assertNotNull (tokenProvider , "token provider" );
@@ -409,7 +420,7 @@ public NetworkAclsEntity networkAcls() {
409420 */
410421 public static class Builder {
411422 private final String domain ;
412- private final String apiToken ;
423+ private final TokenProvider tokenProvider ;
413424 private Auth0HttpClient httpClient = DefaultHttpClient .newBuilder ().build ();
414425
415426 /**
@@ -418,8 +429,17 @@ public static class Builder {
418429 * @param apiToken the API token used to make requests to the Auth0 Management API.
419430 */
420431 public Builder (String domain , String apiToken ) {
432+ this (domain , SimpleTokenProvider .create (apiToken ));
433+ }
434+
435+ /**
436+ * Create a new Builder
437+ * @param domain the domain of the tenant.
438+ * @param tokenProvider the API Token provider to use when making requests.
439+ */
440+ public Builder (String domain , TokenProvider tokenProvider ) {
421441 this .domain = domain ;
422- this .apiToken = apiToken ;
442+ this .tokenProvider = tokenProvider ;
423443 }
424444
425445 /**
@@ -438,7 +458,7 @@ public Builder withHttpClient(Auth0HttpClient httpClient) {
438458 * @return the configured {@code ManagementAPI} instance.
439459 */
440460 public ManagementAPI build () {
441- return new ManagementAPI (domain , SimpleTokenProvider . create ( apiToken ) , httpClient );
461+ return new ManagementAPI (domain , tokenProvider , httpClient );
442462 }
443463 }
444464}
0 commit comments