我正在通过 firebase-auth 登录用户,并且需要将其用户 uid 传递到重定向页面。 user-uid 如何传递?
我尝试使用 firebase auth 上的文档,但无法完全解决
loginForm.addEventListener('submit', (e) => {
e.preventDefault();
const email = loginForm['email'].value;
const password = loginForm['password'].value;
console.log(email, password);
firebase.initializeApp(config);
firebase.auth().signInWithEmailAndPassword(email, password)
.then(cred => {
if(email ==='admin@mombasa.com' && password ==='adminMomb') {
window.location = './admin-map.php';
}
else if(email ==='admin@nairobi.com' && password ==='adminNai') {
window.location = './admin-map.php';
}
else if(email ==='admin@eldoret.com' && password ==='adminEld') {
window.location = './admin-map.php';
}
else firebase.auth().onAuthStateChanged(function(user) {
window.user = user;
console.log('logged in ', user);
window.location = './dailyreports.php';
console.log('logged in ', user);
});
}).catch(
function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
console.log(errorMessage, errorCode);
}
)
;
});
导航到下一页时,我希望在控制台中看到用户 uid 输出,但它返回空白
最佳答案
与其传递 UID,不如使用所谓的身份验证状态监听器来获取下一页中的状态。
如 getting the currently signed in user 上的文档所示:
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. } else { // No user is signed in. } });
在新页面上以这种方式获取用户帐户不会有任何延迟,因为 Firebase SDK 将能够从本地存储中存储的信息恢复状态。
关于javascript - 如何将用户 uid 从登录页面传递到 Web 应用程序中的不同页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58782956/