firebase / firebase/firebase-admin-java

Auth list tenants is not pageable

未关闭
#1,192 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
620
派生
305
平均合并
3 小时 23 分钟
30 天内合并 PR
1

描述

* 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

贡献指南

打开贡献指南

调研方向

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.

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
api, authentication
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。