0
我使用rest API構建Java服務器,並使用Firebase對我的用戶進行身份驗證。在Firebase中同步verifyIdToken java
當用戶進行復位電話,他向火力地堡的令牌,我使用下一個方法驗證:
FirebaseAuth.getInstance(firebaseApp).verifyIdToken(idToken)
.addOnSuccessListener(decodedToken -> {
// do some thing
});
的問題是,我們正在談論HTTP調用,這些都不是同步的。雖然我找到了一種解決方法來使此方法同步,但如果有本地Firebase API爲我提供了開箱即用的功能,我很好奇。
我的解決方法:
final Object hack = new Object();
synchronized (hack) {
FirebaseAuth.getInstance(firebaseApp).verifyIdToken(idToken)
.addOnCompleteListener(decodedToken -> {
// do some thing
synchronized (hack){
hack.notifyAll();
}
});
try {
hack.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
有沒有簡單的方法來使異步同步。但這聽起來像[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。異步處理程序不適用於您的用例的原因是什麼? –
這裏究竟是什麼需要同步完成? –
@ cricket_007我收到來自客戶端的請求,因爲它是http,我需要同步返回響應。在我能做到這一點之前,我需要驗證客戶端令牌。所以我希望令牌驗證是同步的 –