[英]How to integrate Firebase Auth with PHP app?
我有一個簡單的 PHP API,用於對使用我的應用程序的用戶進行身份驗證。 我一直在嘗試使用 Firebase Auth,但沒有成功。 按照此處找到的文檔,我來到了一個點:
我在 Firebase 控制台中創建了 Firebase 項目。
我已經創建了一個服務帳戶,我已經下載了包含所需憑據的 Secret .json 文件。
我使用此代碼與數據庫交互:
$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/path/to/file.json');
$firebase = (new Factory)
->withServiceAccount($serviceAccount)
->createAuth();
轉儲 $firebase 實例時,我得到了這個:
^ Kreait\Firebase\Auth {#78 ▼
-client: Kreait\Firebase\Auth\ApiClient {#55 ▶}
-tokenGenerator: Firebase\Auth\Token\Generator {#58 ▶}
-idTokenVerifier: Kreait\Firebase\Auth\IdTokenVerifier {#77 ▶}
}
這讓我相信連接成功,但是當我嘗試列出所有用戶時
$firebase->listUsers();
我得到以下
^ Generator {#42 ▼
this: Kreait\Firebase\Auth {#78 …}
executing: {▼
C:\Users\user\Projects\Simple-Api\vendor\kreait\firebase-
php\src\Firebase\Auth.php:110 {▼
Kreait\Firebase\Auth->listUsers(int $maxResults = 1000, int $batchSize = 1000): Generator …
› {
› $pageToken = null;
› $count = 0;
}
}
closed: false
}
當我嘗試像這樣遍歷所有用戶時:
foreach ($users as $user) {
var_dump($user);
}
我收到這些錯誤:
cURL error 60: SSL certificate prblm: unable to get local issuer certificate
cURL error 77: SSL certificate prblm: unable to get local issuer certificate
臨時修復(不建議用於生產):
如果繼續按照文檔進行操作,您會發現
https://firebase-php.readthedocs.io/en/stable/user-management.html#list-users
Auth::listUsers()
返回一個生成器,您可以使用foreach()
循環或使用iterator_to_array()
將其轉換為數組 - 只有在限制結果集時才應使用后者,否則您將遇到性能問題PHP 嘗試將數千條用戶記錄加載到內存中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.