Vuex - passer plusieurs paramètres à l'action

Je suis en train d'authentifier un utilisateur à l'aide de vuejs et laravel passeport.

Je ne suis pas en mesure de comprendre comment faire pour envoyer plusieurs paramètres à la vuex mutation par l'intermédiaire d'une action.

- magasin -

export default new Vuex.Store({
    state: {
        isAuth: !!localStorage.getItem('token')
    },
    getters: {
        isLoggedIn(state) {
            return state.isAuth
        }
    },
    mutations: {
        authenticate(token, expiration) {
            localStorage.setItem('token', token)
            localStorage.setItem('expiration', expiration)
        }
    },
    actions: {
        authenticate: ({ commit }, token, expiration) => commit('authenticate', token, expiration)
    }
})

- méthode de login -

login() {
      var data = {
           client_id: 2,
           client_secret: '**************************',
           grant_type: 'password',
           username: this.email,
           password: this.password
      }
      //send data
      this.$http.post('oauth/token', data)
          .then(response => {
              //send the parameters to the action
              this.$store.dispatch({
                  type: 'authenticate',
                  token: response.body.access_token,
                  expiration: response.body.expires_in + Date.now()
              })
     })
}

Je serais très reconnaissant pour toute sorte d'aide!

OriginalL'auteur Schwesi | 2017-09-07