firebase / firebase/firebase-admin-java

Auth list tenants is not pageable

Open
#1,192 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
620
Forks
305
Avg merge
3h 23m
Merged PRs (30d)
1

Description

* Firebase SDK version: 9.8.0
* Firebase Product: auth

Fetching tenants with firebaseAuth.getTenantManager().listTenants(null) does not return a PageToken even though more pages exist. There is no possibility to page through all tenants.

```java
private List getAllTenants() {
ListTenantsPage listTenantsPage = null;
List allTenants = new ArrayList<>();
try {
do {
listTenantsPage = firebaseAuth.getTenantManager().listTenants(listTenantsPage == null ? null : listTenantsPage.getNextPageToken());
for (Tenant tenant : listTenantsPage.iterateAll()) {
allTenants.add(tenant);
}
log.info("Next page token: {}", listTenantsPage.getNextPageToken());
} while (listTenantsPage.hasNextPage());
} catch (FirebaseAuthException e) {
log.error("Could not list tenants", e);
}
log.info("Found {} tenants", allTenants.size());
return allTenants;
}
```

When viewing the tenants in the GCP Identity Platform, the same request is used with a page size of 2147483647. However, the admin sdk prevents requesting a page size over 100 (FirebaseTenantClient.MAX_LIST_TENANTS_RESULTS).

Please either remove the page size restriction in the sdk or fix pagination with page token of tenants

Contributor guide

Open the contributing guide

Research direction

Start with FirebaseTenantClient.MAX_LIST_TENANTS_RESULTS and the TenantManager.listTenants call shown in the report. Run or inspect the existing ListTenantsPage pagination behavior, comparing it with the GCP Identity Platform request described. Done means tenants can be retrieved across all available pages without the SDK incorrectly preventing the required request.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, authentication
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.