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)

Setting the authentication state on app startup

At this point, you might think we are done. However, if you try refreshing the browser after navigating to the checkout page, you'll probably notice some unexpected behavior, as you'll be asked to log in again. There is also another far less obvious issue in that, after refreshing the page, the default axios headers will be cleared, including the bearer token we attached to the authorization header. Currently, the only way this header is set is after a successful login request—not something that the user should have to do after every page refresh. This also means that any future API requests would fail if those endpoints required authentication.

To fix the axios configuration issue, we need to check if the user is authenticated at the earliest point of the app startup, and set the authorization header if they are...