我有一個火力帳戶,我手動創建誰將會體健用我的網站的用戶(註冊是不公開的,但它是不相關的這項調查)如何驗證Firebase令牌服務器端?
在登錄頁面,則認證通過JavaScript的。
一旦用戶輸入他們的郵件和密碼,相應的功能就會被執行,我得到令牌,然後通過url重定向將它發送到我的PHP服務器。事情是這樣的:
firebase.auth().signInWithEmailAndPassword(inputemail, inputpassw)
.then(function(user) {
myEmail = user.email;
myUid = user.uid;
user.getIdToken()
.then(function(token){
myToken = token;
location.href = "http://www.example.com/verify?email="+myEmail+"&token="+myToken+"&uid="+myUid;
});
}, function (error) {
...
});
然後,我的服務器上我都會有郵件時,UID,和令牌。
所以,我的問題是:
如何驗證令牌是否有效?是不可能的?
我知道令牌是加密的,但密鑰是公開的......所以任何人都可以製作一個有效的令牌!
我的意思是,比如,我有一個過期的令牌,我可以對其進行解碼,更改過期時間,再對其進行編碼,並獲得到我的服務器不知道任何密碼
有我丟失的東西?
顯然我無法通過REST驗證令牌。
我還有什麼替代方案?
無需調用火力地堡服務器,驗證ID令牌。所有信息都在令牌本身中,並且可以使用服務憑證進行解碼。請參閱https://stackoverflow.com/questions/42084299/firebase-token-verification-in-php和https://stackoverflow.com/questions/37634305/firebase-token-verification和https://packagist.org/packages/firebase/php-jwt –
您是否閱讀完整的問題? –
顯然不是。然後再次:我給出的鏈接提供了問題標題的確切答案,用PHP驗證了JWT。如果你問爲什麼這是一種安全的方法,我建議更新標題以反映這一點。這是一個有效的問題,與你的標題目前的要求不同。答案是btw,指出JWT要求您有權訪問該項目的憑據。由於這些是私密的,只有有權訪問他們的人才能創造有效的令牌。 –