2014-02-21 153 views
16

我有一個針對我的組織的github頁面,我想從第三方api調用數據,我需要auth令牌。我可以發佈此github頁面而不在公共回購中顯示身份驗證令牌嗎?爲Github頁面隱藏api密鑰

回答

22

總之,沒有。如果你的GitHub倉庫是公開的,它的所有資產都是公開的。如果以username.github.io慣例命名,或者它有gh-pages分支,您可以使回購專用,並且它仍將在GitHub頁面上發佈。雖然這是一個選項,但這不一定是正確的做法。

如果你的鑰匙在你的GitHub Pages倉庫中,它聽起來像是用於JavaScript中的客戶端API調用。如果是這樣,您的身份驗證令牌可公開顯示,無論它是在公共回購站還是在您的客戶端文件中發送到瀏覽器。這通常很好。第三方API可能會根據您網站的域名生成身份驗證令牌,並將使用該令牌的通話限制爲源自您的域名的網頁。否則,他們可能只需要身份驗證令牌來記錄請求並監視使用情況。

如果認證令牌確實是私有的,那麼您可能需要編寫私有服務器端代碼來調用第三方API。然後,您的GitHub Pages網站可以爲您的服務提供所需的數據。我必須在Web API出現安全問題之前這樣做,但我仍然需要從客戶端檢索非敏感數據。

+3

這是我需要聽到的。謝謝! –