前置動作
完成 Firebase 專案設定,並新增好使用的應用程式(必須是網頁程式</>)
產生並下載保存服務帳號金鑰檔案(JSON)
備註:此金鑰JSON檔只能產生一次,若再次點選產生金鑰會產出另一份金鑰內容
安裝
在 CodeIgniter4 專案中安裝 firebase-php:
composer require "kreait/firebase-php:^7.0"
備註:firebase-php 7.0 僅支援 php 8,所以如果使用 php 其他版本就不要加上最後面的 :^7.0,composer 會自動使用 6.9 版
將服務帳號金鑰JSON檔案置於網站系統內,例如將json檔置於網站的/cert資料夾中
設定
在 .env 檔案中加入金鑰檔案的路徑
以 javascript 進行認證服務
登入頁製作
網頁加入相關資訊
PHP 認證處理
說明:
1. /auth/login 登入頁中,使用 Google 認證按鈕後,會進入 firebase 認證程序,認證完成後將轉址至 /auth/callback/?token=.....
2. 在 /auth/callback 程序中,認證使用者資料且取得權限後,存入 session 再轉至 /admin 管理頁
3. 在 firebase 使用者資料中,可以利用 customClaim 欄位來儲存額外的資訊。
留言
張貼留言