I'm building an API for Laravel and I want to send the api_token within the header instead of the form post. Is this something that is already built in or would I have to go the route of figuring out how to create my own auth driver?
After struggling a little with this myself I got it working. You need to first follow this little tutorial on how to use the api_token for your laravel API: https://gistlog.co/JacobBennett/090369fbab0b31130b51
Then once you have the api_token in the users table etc you can now pass this in the header of each request.
My laravel is using the Vueify templates, ie I have under /components/Comment.vue etc files.
First step is to pass the users api_token to the Vue Template by passing a property through the component definition in your blade template:
<comments id_token="{{ access()->user()->api_token }}"></comments>
Then ensure in your .vue file that you accept the property by adding it to the "props":
export default {
data: function() {
return {
edit: false,
list: [],
comment: {
id: '',
name: '',
body: ''
}
};
},
props: ['id_token'],
created: function() {
Vue.http.headers.common['Authorization'] = 'Bearer ' + this.id_token;
this.fetchCommentList();
},
Notice above that I also added the token to the common headers in order to have it go through each request used in all the methods further down.
Vue.http.headers.common['Authorization'] = 'Bearer ' + this.id_token;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With