Authentication is one area of building modern web applications that is made considerably more complicated by the separation of server-side API and client side SPA frontends. It's no longer a fairly simple case of using a cookie-based approach where the browser will automatically attach the appropriate cookies to every HTTP request by default. However, more and more applications are being developed in conjunction with other external applications and services, so moving down the route of token-based authentication using JWTs adds a great deal of flexibility to make the additional complications more beneficial to us.
In this chapter, we started out by looking at what's involved with setting up and configuring JWT-based authentication in an ASP.NET Core web application. We also added the necessary API endpoints for issuing JWTs when users successfully log in, as...