火力地堡重新验证社会提供商
问题描述:
火力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."}
答
您需要使用Fa cebook访问令牌,而不是Firebase ID令牌。 firebase.auth.currentUser.getToken();
返回Firebase ID令牌。
您需要在初始化Facebook身份验证凭据时传递Facebook访问令牌。
const credential = firebase.auth.FacebookAuthProvider.credential(facebookAccessToken);
为了重新验证一个社会提供商,您可以执行以下操作: Firebase: recent login requested
谢谢你,是的,这帮助。基本上我必须保存在'await firebase.auth.signInWithPopup(provider)'后的auth对象返回的'accessToken',然后我可以使用它代替firebase令牌。谢谢 – Yuri