2017-09-28 41 views
3

我有一個應用程序使用google oauth進行身份驗證。我通過google客戶端id和secret來存儲我的Angular應用程序的environment.ts。如果我必須在GitHub上發佈我的代碼,我不希望將這些信息發佈並公開。同時,我不想在我的.gitignore中添加environment.ts。檢查Angular 2+中使用的api憑證的最佳做法

在GitHub for Angular項目中存儲和檢查私有憑證時,有哪些可接受的方法?我的方法是將我的google客戶端ID和密鑰存儲在environment.ts中是一個很好的解決方案嗎?

更新:(的建議名單即時尋找到)

  • 創建包含證書和主分支是GitHub上籤入本地Dev分支。
+0

可以保存utils內部 - >作爲一個變量? –

+0

你可以創建一個dev(它將包括憑證)分支在本地和主分支上工作,以檢查github – jitender

+0

@jitender,虐待你的建議。這意味着在檢入github之前,需要額外的步驟合併代碼從dev到main的更改。 – trashvin

回答

0

這裏的問題是,即使您沒有將您的憑證簽入GitHub,一旦構建並公開可用,證書仍然可以在源代碼中輕鬆讀取。如果這確實是一個問題(就是這樣),最好的辦法就是使用API​​中介,從Google API接收回調並將結果返回給您的應用程序。

這種方法爲使用JavaScript Web令牌授權與您的API進一步溝通提供了許多機會。

+0

我一直在閱讀[rfc6819](https://tools.ietf.org/html/rfc6819 #section-4.1),我會看到你的建議。對於那些無法承受的應用,至少必須有一種簡單的方法來讓您的密鑰和祕密遠離公共回購站。 – trashvin