2016-03-08 39 views
17

używam Express-JWT i utworzyć mój żeton poprzez jQuery i zapisać go w moim localStorage z:Jak wysłać tokenu z żądania AJAX z jQuery

$.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); 
    } 
}); 

mam zabezpieczoną trasę w moim backend jak:

app.get('/upload',jwt({secret: config.secret}), function(req, res) { 
    res.sendFile(path.join(__dirname + '/upload.html')); 
}); 

Jak mogę wysłać token z localStorage z nagłówka żądania?

Odpowiedz

22

Można ustawić nagłówki w żądaniu $.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')} 
}); 
+0

dlaczego wysyłasz żeton do nagłówków? dlaczego nie do danych? – ahmedbhs

+0

@ahmedbhs Wierzę, że próbował jakoś zabezpieczyć token. –

+4

dla nagłówka JWT, działało to dla mnie 'headers: {" Authorization ": 'Bearer' + token}' – user326608