Функция SigninWithEmailAndPassword запрашивает Firebase и вернуть обещание, которое приведет к пользователю в случае успеха. Но при подготовке документации мне кажется, что она выполняется в навигаторе, а не в бэкэнде. Я пытаюсь получить currentUser в getAuth(app).currentUser, и он не работает на сервере.
Поэтому мне нужно решение для выполнения операции входа с использованием электронной почты и пароля в Firebase и сохраните это состояние (состояние аутентификации) локально в пользовательском навигаторе, чтобы добиться успеха при выполнении функции SignOut, импортированной из «firebase/auth» или другого решения для сохранения пользователя.
Спасибо, давайте код.
Код: Выделить всё
// /database/session-controller.js
import { encrypt } from “@/utils/jwt-lib.js”
import { siginWithEmailAndPassword, signOut, getAuth } from ‘firebase/auth’
import { auth } from “@/database/firebase-config.js”
export async function login(email, pwd){
try {
const user = await signinWithEmailAndPassword(auth, email, pwd)
.then(user=>{
return user;
}
cookies().set(“user”, encrypt({user: user}), {httpOnly: true});
} catch (err) {
return false
console.log(err)
}
}
export async function logout(){
//??
// sigOut(getAuth(app)) ???
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... entication
Мобильная версия