J'utilise express-jwt, crée mon jeton via jQuery et l'enregistre dans mon stockage local avec:
$.ajax({
url: "http://localhost:8080/login",
type: 'POST',
data: formData,
error : function(err) {
console.log('Error!', err)
},
success: function(data) {
console.log('Success!')
localStorage.setItem('token', data.id_token);
}
});
J'ai un itinéraire protégé dans mon backend comme:
app.get('/upload',jwt({secret: config.secret}), function(req, res) {
res.sendFile(path.join(__dirname + '/upload.html'));
});
Comment puis-je envoyer le jeton à partir de localStorage avec l'en-tête de la demande?
Vous pouvez définir les en-têtes dans une requête $. Ajax :
$.ajax({
url: "http://localhost:8080/login",
type: 'GET',
// Fetch the stored token from localStorage and set in the header
headers: {"Authorization": localStorage.getItem('token')}
});