firebase / firebase/firebase-admin-java

Auth list tenants is not pageable

オープン
#1,192 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
620
フォーク
305
平均マージ
3時間 23分
マージ済み PR(30日)
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 を短くまとめたダイジェスト。