Как извлечь токен JWT из ответа сервера? - PullRequest
0 голосов
/ 05 сентября 2018

Я хотел бы получить токен JWT fron express обратно в мое приложение vue.js, используя axios.

Вот что я придумал:

 handleSubmit: function () {
            axios.post( this.BASE_URL + "/users/login", {
            username: this.username,
            password: this.password,
          }).then( (res) => { 
                console.log('res is:', res); //JWT found here 
                console.log('token is:', res.headers.common['Authorization']); //<-Problem here

                this.$router.push({ path: '/' });
           })
            .catch( (error) => {
            this.showErrorLogin = true;
            if (error) {
             this.error  = error;
             }  
          });

После scussessful поста, я получаю это в консоли:

      res is: {data: {…}, status: 200, statusText: "OK", headers: {…}, config: {…}, …}config: {adapter: ƒ, transformRequest: {…}, transformResponse: {…}, timeout: 0, xsrfCookieName: "XSRF-TOKEN", …}data: success: truetoken: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjViODZmOTE4YWNiMmI2Nzk3ZmEyYzFjNCIsInVzZXJuYW1lIjoiamFzZW0iLCJpYXQiOjE1MzYxNTgyNTAsImV4cCI6MTUzNjE5NDI1MH0.Sgl8cTHTQxU8rvBWdr365SBKABnUdbeUNHYLflqXURM"__proto__: Objectheaders: {content-type: "application/json; charset=utf-8"}request: XMLHttpRequest {onreadystatechange: ƒ, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …}status: 200statusText: "OK"__proto__: Object


token is: undefined

но я не знаю, как его извлечь. Я также попытался res.headers['Authorization'], но вместо этого получил undefined.

1 Ответ

0 голосов
/ 05 сентября 2018

Токен может быть передан разными способами

 // check header or url parameters or post parameters for token
  const token = req.body.token || req.query.token || req.headers['x-access-token'] || req.headers['Authorization'] || req.headers['Bearer'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...