如何使用 Firebase 刷新令牌保留用户身份验证?
How do I persist user authentication using the Firebase refresh token?
我正在构建一个使用 Firebase phone 用户登录身份验证的 React Native 应用程序。身份验证工作正常,但令牌在一小时后过期。我读到我需要使用刷新令牌来刷新 idToken
,但 Firebase docs 上没有任何地方解释如何执行此操作。只说明了如何撤销refresh tokens,我都找不到
我正在使用 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
将其存储在本地,并在每次启动应用程序时检查令牌是否存在。
提前致谢。
来自https://rnfirebase.io/reference/auth/user#getIdToken
如果令牌已过期,似乎使用 user.getIdToken()
刷新令牌。
如果您想要刷新令牌,即使它仍然有效,您始终可以使用 forceRefresh
选项。
我正在构建一个使用 Firebase phone 用户登录身份验证的 React Native 应用程序。身份验证工作正常,但令牌在一小时后过期。我读到我需要使用刷新令牌来刷新 idToken
,但 Firebase docs 上没有任何地方解释如何执行此操作。只说明了如何撤销refresh tokens,我都找不到
我正在使用 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
将其存储在本地,并在每次启动应用程序时检查令牌是否存在。
提前致谢。
来自https://rnfirebase.io/reference/auth/user#getIdToken
如果令牌已过期,似乎使用 user.getIdToken()
刷新令牌。
如果您想要刷新令牌,即使它仍然有效,您始终可以使用 forceRefresh
选项。