Adding an API to an AdonisJS Web App

Beginner
11 Lessons
1h 25m

In this series, we'll add a API, using Opaque Access Tokens for authentication, to a preexisting web application. We'll implement dual-guard authentication, add a token management panel, and authenticate our API directly with an organization model!

Module 1 › Introduction (4 lessons)

Video preview
Goal of this Series
Lesson 1.0
・
Apr 18

Goal of this Series

We'll cover the scope of this series and show some of the functionalities we'll be building throughout, which include an access token management panel, opaque access token authentication using an organization model, and building an API.

Video preview
Getting Up and Running
Lesson 1.1
・
Apr 18

Getting the Web Project Up & Running

We'll get our web project cloned down. Then, we'll get it configured by first creating our database and running our migrations and seeder. Lastly, we'll get a test SMTP email inbox set up through MailTrap.

Video preview
Getting Familiar with our Web Project
Lesson 1.2
・
Apr 18

Getting Familiar with our Web Project

In this lesson, we'll quickly walk through the web application we've cloned down to get familiar with the data at play, how it's presented to the user, and the features at hand.

Video preview
Lesson 1.3
・
Apr 18

Overview of our Database Schema

In this lesson, we'll take a high level look at our database's schema so that we have an understanding at the entities and models at play and how they relate to one another within our application.

Module 2 › API Authentication (7 lessons)

Video preview
Configuring Api Authentication
Lesson 2.0
・
Apr 21

Configuring Access Token Auth on top of Session Auth

In this lesson, we'll get opaque access tokens configured within our AdonisJS application on top of the already configured session/web authentication. This will include configuring the guard and setting up the db access token provider.

Video preview
Separation of Concerns
Lesson 2.1
・
Apr 21

Separation of API & Web Auth Guard Concerns

In this lesson, we'll restrict our routes to their applicable authentication guard. Ensuring our web routes can properly authorize using their role-based authorization and our API can properly authorize using our access token abilities.

Video preview
Access Token Abilities
Lesson 2.2
・
Apr 21

Defining Access Token Abilities & DTO

In this lesson, we'll finish up our preparation work by creating a data transfer object (DTO) for our access tokens. Then, we'll define what our token abilities will be within our application's API.

Video preview
Creating Access Tokens Part 1: AdonisJS
Lesson 2.3
・
Apr 25

Creating Access Tokens Part 1: AdonisJS

In this lesson, we'll add a route to the settings portion of our application allowing the user to create an opaque access token (OAT), with the desired permissions, for the active organization.

Video preview
Creating Access Tokens Part 2: VueJS
Lesson 2.4
・
Apr 25

Creating Access Tokens Part 2: Inertia/Vue

In this lesson, we'll rig up the create access token route we created in the last lesson to a form within our Vue application. We'll also stub the overall manage access tokens card for the organization itself.

Video preview
OAT vs JWT
Lesson 2.5
・
May 02

Opaque Access Tokens (OAT) vs JSON Web Tokens (JWT)

In this lesson, we'll take a step back to understand the differences between the tokens we're using, which are Opaque Access Tokens (OAT), and JSON Web Tokens (JWT). We'll discuss security, scalability, and what makes up each token.

Video preview
Adocasts Plus Exclusive
Exclusive
Listing Access Tokens
Lesson 2.6
・
May 02

Listing an Organization's Access Tokens

In this lesson, we'll query all of our organization's access tokens and filter out any tokens that are expired. Then, we'll list the organization's tokens showing it's name, abilities, when it was created, and when it was last used.

excited robot

More in the works!

Add to your watchlist to get notified when new lessons are added

Sign in or sign up to add to your watchlist