Basic auth

The basic auth guard uses the HTTP basic authentication for authenticating the requests.

There is no concept of explicit login and logout with basic auth. The credentials for authentication are sent on every request and you can validate them using the auth.authenticate method.

The basic auth guard relies on the underlying user provider to lookup and validate the user credentials

import Route from '@ioc:Adonis/Core/Route'
Route
.get('posts', async ({ auth }) => {
await auth.use('basic').authenticate()
return `You are logged in as ${auth.user!.email}`
})

You can also make use of the auth middleware to guard routes using the basic auth guard.

import Route from '@ioc:Adonis/Core/Route'
Route
.get('posts', async ({ auth }) => {
return `You are logged in as ${auth.user!.email}`
})
.middleware('auth', { guards: ['basic'] })