Javascript 扩展;“到期时间”;在Firebase Auth中;stsTokenManager";以自然反应
如何在Firestore响应中延长expirationTime?这里使用Firestore JavaScript SDK。在React本地移动开发中也需要访问accessTokenJavascript 扩展;“到期时间”;在Firebase Auth中;stsTokenManager";以自然反应,javascript,firebase,react-native,firebase-authentication,Javascript,Firebase,React Native,Firebase Authentication,如何在Firestore响应中延长expirationTime?这里使用Firestore JavaScript SDK。在React本地移动开发中也需要访问accessToken import firebase from 'firebase/app'; firebase.initializeApp(firebaseConfig); const auth = firebase.auth(); export const login = (email, password) => {
import firebase from 'firebase/app';
firebase.initializeApp(firebaseConfig);
const auth = firebase.auth();
export const login = (email, password) => {
return async dispatch => {
try {
const response = await auth.signInWithEmailAndPassword(email, password);
//console.log(response);
dispatch(authenticate(response.user.uid, ""));
//console.log(response.user.stsTokenManager.expirationDate, " AAA");
const expirationDate = new Date(
new Date().getTime() + parseInt(response.user.stsTokenManager.expirationTime) * 1000
);
saveDataToStorage( response.user.uid, expirationDate);
} catch (error) {
throw new Error(error?.message || 'Authenticating user failed');
}
};
};
console.log(响应)
output
Object {
"user": Object {
"stsTokenManager": Object {
"accessToken": "",
"apiKey": "",
"expirationTime": 1597168005772,
"refreshToken": "",
},
"tenantId": null,
"uid": "",
},
}
您无法更改所提供令牌的过期时间。它将在上次刷新后1小时过期。然后需要再次刷新令牌,新令牌将持续一个小时。除此之外没有其他选择-出于安全原因,需要刷新
Firebase Auth SDK将自动刷新登录用户的令牌。要实现这一点,您无需做任何事情。如果您想知道令牌何时刷新,您应该使用设置一个侦听器。当从应用返回并再次使用应用时,会导致用户在令牌过期之前再次输入凭据。有什么解决方法吗?如果你有一个新问题,请单独发布,包括没有按照你期望的方式工作的代码。您应该使用身份验证状态侦听器来确定用户是否已登录。谢谢Doug:)