Book Image

ASP.NET Core 2 and Vue.js

By : Stuart Ratcliffe
5 (1)
Book Image

ASP.NET Core 2 and Vue.js

5 (1)
By: Stuart Ratcliffe

Overview of this book

This book will walk you through the process of developing an e-commerce application from start to finish, utilizing an ASP.NET Core web API and Vue.js Single-Page Application (SPA) frontend. We will build the application using a featureslice approach, whereby in each chapter we will add the required frontend and backend changes to complete an entire feature. In the early chapters, we’ll keep things fairly simple to get you started, but by the end of the book, you’ll be utilizing some advanced concepts, such as server-side rendering and continuous integration and deployment. You will learn how to set up and configure a modern development environment for building ASP.NET Core web APIs and Vue.js SPA frontends.You will also learn about how ASP.NET Core differs from its predecessors, and how we can utilize those changes to our benefit. Finally, you will learn the fundamentals of building modern frontend applications using Vue.js, as well as some of the more advanced concepts, which can help make you more productive in your own applications in the future.
Table of Contents (15 chapters)

Refreshing access tokens with axios interceptors

Axios interceptor functions can be thought of like action filters or middleware in ASP.NET MVC. They are invoked on every single request that we make using axios, and we can hook into the request both before it has run and after. This makes them ideal for our refresh token requirements, as we can check every response that we get back from an API request and perform some custom logic if we detect an authentication failure.

In this case, we'll be looking for 401 response status codes, checking whether we have a refresh token to use, and then attempting to obtain a new access token using the new API endpoint we created earlier on. If we get one, we re-trigger the original request that failed, and the user is none the wiser that any of this has happened, unless they're watching the network tab in their browser devtools.

This...