Аутентификация пользователей Firebase и Next.jsJavascript

Форум по Javascript
Ответить
Anonymous
 Аутентификация пользователей Firebase и Next.js

Сообщение Anonymous »

Я создаю приложение с помощью Next.js и firebase и использую JWT для сохранения сеанса для хранения данных аутентификации пользователя. Мой вопрос: что на самом деле происходит, когда я вызываю siginWithEmailAndPassword()? Потому что для хорошей безопасности моего приложения я пытаюсь выполнить каждую операцию, запрашивающую Firebase, на моем бэкэнде next.js.
Функция 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»