Sto cercando di implementare un sistema di login in un'applicazione Electron [0] che sto costruendo ma che rimane bloccato dalla parte della gestione della sessione. Fondamentalmente voglio memorizzare la sessione degli utenti in modo che sia mantenuta tra i riavvii dell'applicazione (se "Remember me" è abilitato).Cookie di sessione non funzionanti in Elettrone
Devo utilizzare un back-end esistente che funziona con l'autenticazione dei cookie e non posso modificare nulla lì.
Dalla documentazione di Electron sull'oggetto Session [1] ho rilevato che dovrei utilizzare una partizione come f.e. persist:someName
per avere una memoria persistente, ma questa non viene mantenuta tra i riavvii dell'applicazione come sembra.
Il mio modo attualmente impostato il cookie è la seguente:
// main-process/login.js
const session = require('electron').session;
const currentSession = session.fromPartition('persist:someName').cookies;
currentSession.set({
name: 'myCookie',
url: 'https://www.example.com',
value: 'loggedin=1',
expirationDate: 1531036000
}, function(error) {
console.log('Cookie set');
if (error) {
console.dir(error);
}
});
Dopo l'esecuzione di questo, vedo la Cookie set
uscita, ma al riavvio l'applicazione e l'esecuzione del seguente codice:
// main.js
const session = require('electron').session;
const currentSession = session.fromPartition('persist:someName').cookies;
currentSession.get({}, function(error, cookies) {
console.dir(cookies);
if (error) {
console.dir(error);
}
});
L'output restituito è []
.
Qualsiasi suggerimento su cosa sto facendo male o che devo fare diversamente sarebbe molto apprezzato!
[0] http://electron.atom.io
[1] http://electron.atom.io/docs/api/session/
Dopo aver esaminato ulteriormente il problema, sembra che questo potrebbe essere un problema con le versioni di Electron dopo 1.2.2, come indicato in questa discussione su GitHub: https://github.com/electron/electron/issues/6388 – Revell
1 .: verifica la tua importazione, immagino che "require ('electron']" potrebbe causare alcuni problemi. 2 .: Puoi verificare invece l'API localStorage. –
@JensHabegger Sì, è stato un errore di battitura nello script qui, scusa Nel frattempo si è scoperto che si trattava di un problema in Electron e sto aspettando una nuova versione con la correzione affinché questo diventi disponibile – Revell