我正在构建一个使用Firebase电话身份验证进行用户登录的React Native应用。身份验证正常,但是令牌在一小时后过期。我已经读到我需要使用刷新令牌来刷新idToken
,但是Firebase docs上的任何地方都没有说明如何执行此操作。它仅说明了如何撤消刷新令牌,而我什至找不到它。
我正在使用react-native-firebase软件包。
我的问题是:我如何获得刷新令牌,如何使用它,真的需要每小时打电话给Firebase来更新我的idToken
吗?
我目前正在这样获得我的idToken
:
const authenticate = async (credential) => {
try {
const { user } = await firebase.auth().signInWithCredential(credential);
const accessToken = await user.getIdToken();
return accessToken;
} catch (error) {
console.log(error);
}
}
然后我获取令牌并使用AsyncStorage
将其存储在本地,并在每次启动应用程序时检查令牌是否存在。
谢谢。
答案 0 :(得分:1)
来自https://rnfirebase.io/docs/v4.3.x/auth/reference/User
似乎使用user.getIdToken()
刷新令牌(如果令牌已过期)。
如果您想刷新令牌,即使它仍然有效,也可以始终使用forceRefresh选项