最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How do I persist user authentication using the Firebase refresh token? - Stack Overflow

programmeradmin1浏览0评论

I am building a React Native app which uses Firebase phone authentication for user login. Authentication works fine but the token expires after an hour. I have read that I need to use the refresh token to refresh the idToken, but nowhere on the Firebase docs does it explain how to do this. It only explains how to revoke refresh tokens, and I can't even find it.

I am using the react-native-firebase package.

My questions are: how to I get the refresh token, how do I use it, and do I really need to call Firebase every hour to update my idToken?

I am currently getting my idToken like this:

const authenticate = async (credential) => {
  try {
    const { user } = await firebase.auth().signInWithCredential(credential);
    const accessToken = await user.getIdToken();
    return accessToken;
  } catch (error) {
    console.log(error);
  }
}

I then take the token and store it locally using AsyncStorage and check if the token exists every time the app is launched.

Thanks in advance.

I am building a React Native app which uses Firebase phone authentication for user login. Authentication works fine but the token expires after an hour. I have read that I need to use the refresh token to refresh the idToken, but nowhere on the Firebase docs does it explain how to do this. It only explains how to revoke refresh tokens, and I can't even find it.

I am using the react-native-firebase package.

My questions are: how to I get the refresh token, how do I use it, and do I really need to call Firebase every hour to update my idToken?

I am currently getting my idToken like this:

const authenticate = async (credential) => {
  try {
    const { user } = await firebase.auth().signInWithCredential(credential);
    const accessToken = await user.getIdToken();
    return accessToken;
  } catch (error) {
    console.log(error);
  }
}

I then take the token and store it locally using AsyncStorage and check if the token exists every time the app is launched.

Thanks in advance.

Share edited Aug 20, 2019 at 9:49 Mr. Robot asked Aug 20, 2019 at 9:41 Mr. RobotMr. Robot 1,8349 gold badges36 silver badges94 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

From https://rnfirebase.io/reference/auth/user#getIdToken It seems that using user.getIdToken() refresh the token if it has expired. You can always use the forceRefresh option if you want to refresh the token even if it's still valid.

发布评论

评论列表(0)

  1. 暂无评论