2017-02-13 70 views
1

火力reauthenticate方法需要credential對象,例如:火力地堡重新驗證社會提供商

const token = await firebase.auth.currentUser.getToken(); 
const credential = firebase.auth.FacebookAuthProvider.credential(token); 

如果當時我嘗試做reauthenticate我收到錯誤消息的accessToken無效

firebase.auth.currentUser.reauthenticate(credential); 

錯誤:

code:"auth/internal-error"

{"domain":"global","reason":"invalid","message":"invalid access_token, error code 43."}

回答

3

您需要使用Fa cebook訪問令牌,而不是Firebase ID令牌。 firebase.auth.currentUser.getToken();返回Firebase ID令牌。

您需要在初始化Facebook身份驗證憑據時傳遞Facebook訪問令牌。

const credential = firebase.auth.FacebookAuthProvider.credential(facebookAccessToken); 

爲了重新驗證一個社會提供商,您可以執行以下操作: Firebase: recent login requested

+0

謝謝你,是的,這幫助。基本上我必須保存在'await firebase.auth.signInWithPopup(provider)'後的auth對象返回的'accessToken',然後我可以使用它代替firebase令牌。謝謝 – Yuri