Node.js с firebase не сохраняет информацию в сеансе

Rakkefet спросил: 26 декабря 2017 в 07:40 в: javascript

Я пытаюсь использовать сеанс в своем приложении, отслеживать вход пользователя и многое другое.

Но ...

Когда я попытался использовать самый простой способ, Я продолжал получать сообщение об ошибке:

Предупреждение: connect.session () MemoryStore не предназначен для производственной среды, так как это приведет к утечке памяти и не будет масштабироваться за один процесс.

Там, после многократного поиска, я добавил функциональность firebase-session, но теперь, хотя я не получаю ошибки, в сеансе ничего не сохраняется.

Это мой code:

    const functions = require('firebase-functions');
    const express = require('express');
    const session = require('express-session');
    const FirebaseStore = require('connect-session-firebase')(session);
    const firebase = require('firebase-admin');    const ref = firebase.initializeApp(
        functions.config().firebase
    );    const app = express();    app.use(session({
      store: new FirebaseStore({
        database: ref.database()
      }),
      secret: 'asdfasgbrwewet53hnhwetynsy',
      resave: true,
      saveUninitialized: true
    }));    app.get('/', function(req, res, next) {
      console.log(req.session);
      req.session.username='rakafa';
      res.send('Returning with some text');
    });    app.get('/bar', function(req, res, next) {
      console.log(req.session);
      var someAttribute = req.session.username;
      res.send(`This will print the attribute I set earlier: ${someAttribute}`);
    });    exports.app = functions.https.onRequest(app);

Это то, что я сделал до сих пор:

  • Мой оригинальный пример taht Я использовал для начала сеанс: пример session-express
  • Я взял часть firebase из npm: npm firebase-session
  • Пытался использовать radis-store в качестве решения, не сказал: используя radis -строчное решение
  • Использование хранилища сеансов дало мне то же самое, что и при использовании ничего .. npm session-store
  • Этот вопрос дал мне идею использования firebase- сессия база данных объяснения сеансов
  • Я видел этот пример с кукисами, но не понял, и не нашел другого примера сеанса cookie

Просто другое слово , Я только начал изучать Node.js, поэтому, пожалуйста, попробуйте использовать простые примеры, поэтому я бы понял;)

И, пожалуйста, простите мои ошибки starte.

Пожалуйста, ПОМОГИТЕ. ...

=== edit ===

В соответствии с ответом orxelm я изменил ref на это:

    const ref = firebase.initializeApp({
      //admin.credential.cert(serviceAccount)
      credential: firebase.credential.applicationDefault(),
      databaseURL: "https://*****.firebaseio.com/"
    });

Но все же, когда я запускаю приложение, в сеансе ничего не происходит, когда я обновляю страницу.

сеансы на сервере ^^ Я вижу, что приложение создал много сеансов на сервере. Но ни один из них не имеет информации, которую я добавил в приложении, и поскольку я использую только один браузер, должен быть только один сеанс, я ошибаюсь?

0 ответов