存储用户 uid 而不是刷新令牌以保持用户登录?

我在我的项目中使用 Firebase 身份验证,我的问题是,只存储用户 uid而不是在短时间内过期的刷新令牌有什么问题,这样我可以让用户保持登录状态。

我正在使用signInWithEmailAndPassword, 方法登录用户并从中获取用户对象firebase.auth().onAuthStateChanged

firebase.auth().onAuthStateChange(authUser=> setUser(authUser))

现在我可以使用authUser.user.uid它并将其存储在 localStorage 中。

我的问题与firebase或任何其他库无关,但我问的是一般行为,存储不会过期的东西有什么问题?

我的问题是,这样做有多糟糕?


慕后森
浏览 98回答 1
1回答

翻过高山走不出你

Authentication State Persistence您可能想像下面的示例一样使用:firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)  .then(function() {    // Existing and future Auth states are now persisted in the current    // session only. Closing the window would clear any existing state even    // if a user forgets to sign out.    // ...    // New sign-in will be persisted with session persistence.    return firebase.auth().signInWithEmailAndPassword(email, password);  })  .catch(function(error) {    // Handle Errors here.    var errorCode = error.code;    var errorMessage = error.message;  });在这里了解更多
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript