2015-11-02 27 views
0

儘早進入Firebase文檔,並非常喜歡它。 n00b是一個概念性問題 - 是由Firebase身份驗證可訪問的客戶端生成的(JWT)令牌?獲取/使用Firebase JWT

我在打電話外部服務,並希望利用JWT作爲安全機制。所以:

  • 使用火力地堡內建提供商(純粹的客戶端)驗證用戶
  • 獲得火力地堡智威湯遜(我的問題)
  • 通本智威湯遜爲/無論何時需要,給外部服務和驗證(使用我的應用程序FBase祕密)用於訪問外部服務

實質上,利用現有的Firebase機制作爲對外部服務「網關」的一種形式。

我看到了一個old answer這裏 - 「....令牌生存頁面重新加載,那麼你就需要將其存儲在某種程度上,這樣客戶端...」 - 這是tokenJWT

謝謝!

回答

2

Firebase的確將JWT保留在本地存儲中。

JSON.parse(localStorage.getItem("firebase:session::<app-name>")).token 

您也可以從的authData,它可作爲token財產的價值得到它。

ref.onAuth(function(authData) { console.log(authData.token); }) 

但首選方法是做什麼的克里斯說,在意見:

ref.getAuth().token 
+0

完美 - 謝謝你! – EdSF

+2

您也可以使用'ref.getAuth()。token' –

+0

獲得它走容易的路線,我們? :-)只是在開玩笑,我會添加你的變體作爲首選的方法。 –

3

這是爲了獲得正確的方式火力JWT令牌

firebase.auth().currentUser.getToken().then(function(token){ 
    console.log(token); 
}); 
+1

截至2017年3月,這似乎是正確的做法,請參閱https://firebase.google.com/docs/reference/js/firebase.User#getToken – SergGr