Сессия создается каждый раз при обновлении. Об облачных функциях (firebase) - PullRequest
0 голосов
/ 26 мая 2020

Я использую облачные функции firebase для создания страницы входа и регистрации, но сессия не состоит. Он создает новую сессию каждый раз, когда я обновляю sh или повторно посещаю. Поэтому я прекращаю создавать страницу входа и регистрации, пока не исправлю эту проблему с сеансом. Я попытался сделать простой метод сеанса, чтобы проверить, работает он или нет, но все еще есть та же проблема. Создание сеанса каждый раз.

const functions = require('firebase-functions')
const admin = require('firebase-admin')
const {Firestore} = require('@google-cloud/firestore')
const {FirestoreStore} = require('@google-cloud/connect-firestore');
const serviceAccount = require('./firebase-key/**.json')

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "**.com"
})

const db = admin.firestore();
const express = require('express')
const app = express()
const session = require('express-session');
const cors = require('cors')({origin: true});
const fs = require('fs');


app.use((req, res, next) =>{
    res.header('Access-Control-Allow-Origin', '**.com');
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, X-AUTHENTICATION, X-IP, Content-Type, Accept');
    res.header('Access-Control-Allow-Credentials', true);
    res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    next();
})

app.use(session({
    secret: '**',
    resave: false,
    saveUninitialized: false,
    store: new FirestoreStore({
        dataset: new Firestore({
          kind: 'express-sessions',
        }),
    }),
    cookie : { 
        maxAge : 1000 * 60 * 30
    }
}));
app.use(cors);


app.get('/testing-session', function(req, res, next){
    console.log('req.session: ', req.session)
    if(req.session.num === undefined){
        req.session.num = 1
    }else{
        req.session.num = req.session.num + 1
    }
    res.json({
        num: `${req.session.num}`
    })
})


exports.api = functions.https.onRequest(app)

(я подвергся цензуре **) Это мой код. В основном я скопировал код, который работает нормально, а мой - нет.

...