Перенаправление пользователя на новую страницу после успешного входа в Firebase - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть веб-приложение, и я использую Firebase аутентификацию для входа / регистрации наших пользователей.

В прошлом я использовал Passport для входа в мое приложение, которое работает, но вы должны поддерживать свою собственную базу данных и безопасность, бла-бла ... но я могу контролировать, когда мой пользователь может посетить страницу после входа в систему через Passport. используя промежуточное программное обеспечение, как это -

// isAuthentcated is my middleware on server side. 

app.get('/home', isAuthenticated,(req,res)=>{
   res.render('home');
});

Как я могу сделать то же самое, используя Firebase, потому что нет никакого механизма, чтобы сделать это. Я читал разные ответы на stackoverflow, и большинство людей предлагают что-то вроде ниже, что, очевидно, не безопасно. Кто угодно может просто набрать home. html и перейти на страницу.

firebase.auth().onAuthStateChanged(user => {
  if(user) {
    window.location = 'home.html'; //After successful login, user will be redirected to home.html
  }
});

Хотя я думал об использовании firebase-admin sdk верификация токена и пытался следовать предложению здесь , но я не знаю, как это можно полезно сделать это на стороне сервера. У вас есть предложения? Как вы перенаправляете пользователя на новую страницу? ajax запрос отправки / получения от клиента на маршрут «/ home» с заголовком, содержащим «токен на предъявителя», только проверяет токен, но не перенаправляет пользователя, потому что это вызов ajax, предназначенный для обновления часть страницы.

Теперь вопрос на самом деле: возможно ли это сделать с помощью аутентификации на основе firebase?

1 Ответ

0 голосов
/ 03 апреля 2020

Если вы размещаете свой сайт в App Engine, вы можете отправить идентификационный токен клиента с запросом на HTML. Это может принимать форму Cook ie, параметра или того, что вы выбираете для безопасной передачи токена от клиента к серверу.

Затем сервер может использовать SDK Firebase Admin для проверки Идентификатор токена и использовать любые логики c, необходимые для определения того, авторизован ли запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...