[英]set js-cookie value to firebase token
可以將 cookie 的值設置為令牌嗎? 我正在使用 js-cookie、Firebase auth/firestore 和 Next.js 並且我的 cookie 在我的 handleUser function 中設置如下:
const handleUser = async (rawUser) => {
if (rawUser) {
const user = await formatUser(rawUser)
const { token, ...userWithoutToken } = user
createUser(user.uid, userWithoutToken)
setUser(user)
cookie.set('colorizer-auth', token, {
expires: 1
})
setLoading(false)
return user
} else {
setUser(false)
cookie.remove('colorizer-auth')
setLoading(false)
return false
}
}
並且令牌在此處被解碼並設置:
const formatUser = async (user) => {
const decodedToken = await user.getIdTokenResult(true);
const { token, expirationTime } = decodedToken;
return {
uid: user.uid,
email: user.email,
name: user.displayName,
provider: user.providerData[0].providerId,
photoUrl: user.photoURL,
token,
expirationTime,
}
}
我在 cookies 中看到了一些使用 Firebase Auth ID 令牌( access_token
)本身的項目,但該令牌僅在 1 小時內有效。 您還必須安全地存儲refresh_token
,以便在 cookie 過期后刷新它。
但是,我建議使用session cookies代替此類 SSR 應用程序。 您可以設置 5 分鍾到 2 周的過期時間。 最好在過期后重新驗證用戶身份。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.