跳到內容

密鑰

Restorm 專案本來就是要被 commit 的。而密鑰絕對不該進到裡面去。密鑰這個值型別 正是為此而生:變數儲存的是指向某個來源的參照,永遠不是值本身。

請為某個變數選擇密鑰型別,然後選擇來源。此時專案檔案裡只會存放來源的識別碼及其 參數。值是在主行程中、於執行的那一刻才解析出來的。

兩個密鑰型別的環境變數(petstore_auth_token、api_key):儲存格上帶有 $= 標記,以及重新整理、編輯擷取方式和鎖定三個按鈕——旁邊則是一個字串型別的變數

密鑰在應用程式裡始終是看得到的:環境編輯器、已解析值的檢視、內部主控台以及 程式碼片段都會顯示它的值。這是您自己的密鑰,您本來就知道它——密鑰型別並不打算 對您隱藏它。

它真正保證的是,這個值:

  • 絕不會進入離開您機器的檔案——它不會被寫進 .restorm 專案檔案,因此既不會 被 commit、也不會被推送到儲存庫,更不會隨匯出一起帶走;
  • 不會被傳送給未經授權的第三方服務——所有對外目標都要經過 防火牆

讀取作業系統的環境變數。只有一個參數:變數的名稱

在持續整合中這是首選來源:密鑰由您 CI 的保險庫注入,Restorm 只負責讀取它。

Terminal window
export API_TOKEN=""
restorm --open projet.restorm --run "Tests" --headless

讀取——並寫入——放在專案旁邊的一個 restorm.env 檔案。這是本機模式:檔案留在 您的機器上,並加入 .gitignore

和前一種來源不同,這一種是可寫入的:您可以直接在 Restorm 裡輸入值,它會被寫進 密鑰檔案,而不是寫進專案。

解析後的值會被快取。當您在外部改動了某個密鑰之後(輪替權杖、修改 .env 檔案), 請使用重新整理環境來清空快取並重新讀取所有來源。

Restorm 會把密鑰從它寫入磁碟的內容中淨化掉:

  • 驗證請求產生的權杖,在 回應歷史記錄中會被淨化,內文與 標頭都包含在內;
  • 應用程式的記錄同樣會被淨化。

反之,MCP 工具拿到的是已解析的值,和應用程式的其餘 部分一樣:代理程式是代表您、用您自己的密鑰在操控 Restorm。上面這些保證並沒有 改變——該值既不會被寫進專案檔案,也不會寫進匯出檔案,更不會流向未經授權的第三方 服務。

  1. 請把 restorm.env*.responses.zip 加入您的 .gitignore
  2. 在 CI 中請使用 envVar,而不是密鑰檔案。
  3. 原生協定(MQTT、AMQP、Redis、Kafka)的密碼同樣接受密鑰型別的值——請不要把這些 密碼以明文寫在請求裡。