Ich benutze PasspJS, um Anmeldung und dauerhafte Sitzungen auf einem Server-Back-End zu behandeln.Passportsitzung nicht erstellt, wenn Anfrage verwendet wird
Sitzungen funktionieren ordnungsgemäß beim Übergeben von Anforderungen vom Server-Frontend (eine Webseite, die ich nicht erstellt habe und nicht über genügend Knowhow verfügt), aber bei Verwendung von Request (https://www.npmjs.com/package/request) manuell Anfragen an den Server zu senden, Sitzungen funktionieren überhaupt nicht - deserializeUser wird nicht aufgerufen, req.user ist nicht definiert.
Dies ist der relevante Code aus dem Frontend.
$.ajax({
type:"POST",
url: GE.SERVER_URL + '/publish',
data: {
name: $('#new_publication_name').val(),
code: column.editor.getValue(),
language: column.mode,
permissions: $('#new_publication_permissions').prop('checked'),
tags: $('#new_publication_tags').val().split(','),
notes: $('#new_publication_notes').val(),
instrument: false,
username: Gibber.Environment.Account.nick
},
dataType:'json'
})
.done(function (data) {
if(data.error) {
GE.Message.post('There was an error writing to Gibber\'s database. Error: ' + data.error)
}else{
GE.Message.post('Your publication has been saved to: ' + GE.SERVER_URL + '/?path=' + data._id)
}
Dies ist der Code, den ich verwende.
request.post({url:'http://127.0.0.1:8080/publish',form:{filename:"steinfile", code:"john doe", language:"english",tags:["testfile"],notes:"thesearenotes"}}, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
else
{
console.log(error);
}
})
Vielen Dank!
Mit Ihrer request.post senden Sie keine Cookies, die für die korrekte Funktionsweise der Sitzung benötigt werden. Ich denke, das ist das Problem. – Molda
Vielen Dank! Das hat es behoben. Ich bin mir nicht sicher, wie Sie Ihren Kommentar als die richtige Lösung markieren. –
Adde Antwort, damit Sie es als richtig markieren können. Danke – Molda