為 Figena CLI 驗證身分
自己操作時透過瀏覽器登入,自動化流程使用 Agent Key,並妥善保管本機憑證。
開發者工具Figena CLI4 分鐘閱讀
概述
Figena CLI 支援兩類憑證,每個 profile 分別儲存:
- 瀏覽器登入,用於你自己完成的工作。智慧代理、執行紀錄、規格、知識庫、主控台和 OpenPort 審核都需要它。
- Agent Key,用於 CI 工作等自動化流程。OpenPort 資料指令需要它:manifest、workspaces、transactions、preflight、action 和 draft get。
透過瀏覽器登入
- 1執行
figena auth login。profile 需要有 API 位址,可以來自figena config init或--api-base-url選項。 - 2CLI 會在預設瀏覽器中開啟授權頁面,並在終端機輸出頁面位址和一組代碼。
- 3確認頁面上的代碼與終端機中的一致,然後核准請求。
- 4CLI 每隔幾秒檢查一次授權結果,成功後輸出「Logged in as」和你的電子郵件地址。
Open this URL to sign in to Figena CLI:<approval URL>Code: <code>Waiting for approval...登入請求的有效期由伺服器決定,通常約 10 分鐘。請求被拒絕時,CLI 會以「CLI authorization was denied」結束;請求過期或已被使用時,提示「CLI authorization expired or was already used」;無人及時核准時,提示「CLI authorization timed out」。重新執行 figena auth login 即可。
為自動化流程使用 Agent Key
自動化流程不應依賴某個人的瀏覽器工作階段。請使用工作區管理員為工作區核發的 Agent Key,有兩種用法:
figena auth login --agent-key <agent-key>儲存時,金鑰會存進目前的 profile,並輸出「Stored Agent Key for profile」和 profile 名稱。使用環境變數時,金鑰不會寫入磁碟,適合在執行時注入金鑰的 CI 系統。兩者同時存在時,以環境變數為準。
查看狀態、重新整理和登出
figena auth status顯示 profile、是否已驗證、憑證類型(user或service)、登入使用者,以及有哪些憑證來源可用。figena auth refresh用儲存的重新整理權杖換取新憑證,只適用於瀏覽器登入。figena auth logout刪除該 profile 儲存的憑證,但不會取消終端機中的FIGENA_AGENT_KEY。
{ "ok": true, "code": "common.success", "data": { "profile": "production", "authenticated": true, "authType": "user", "user": { "id": "<user-id>", "email": "you@example.com" }, "sources": { "storedUserToken": true, "storedAgentKey": false, "envAgentKey": false } }}憑證儲存在哪裡
CLI 把檔案儲存在主目錄下的 .figena 資料夾:config.json 儲存 profile,credentials.json 儲存登入資訊和 Agent Key。設定 FIGENA_HOME 可以改用其他資料夾。CLI 建立資料夾和檔案時,只允許你自己的使用者存取;figena doctor 會回報既有檔案是否仍然私有。