feat: add logout

This commit is contained in:
Nathan Lamy 2025-07-30 12:58:48 +02:00
parent c724dac086
commit a6b8669e3d
2 changed files with 11 additions and 4 deletions

View file

@ -9,7 +9,7 @@ import User from '#models/user'
@inject() @inject()
export default class AuthController { export default class AuthController {
constructor(private authService: AuthService) { } constructor(private authService: AuthService) {}
// POST /auth/request // POST /auth/request
async requestLogin({ request, response, captcha }: HttpContext) { async requestLogin({ request, response, captcha }: HttpContext) {
@ -79,7 +79,7 @@ export default class AuthController {
await auth.use('web').login(user, true) // true for remember me await auth.use('web').login(user, true) // true for remember me
return { return {
success: true, success: true,
user user,
} }
} }
@ -115,16 +115,22 @@ export default class AuthController {
firstName, firstName,
lastName, lastName,
className, className,
email email,
}) })
// Perform login // Perform login
await auth.use('web').login(user, true) // true for remember me await auth.use('web').login(user, true) // true for remember me
return { return {
success: true, success: true,
user user,
} }
} }
// POST /auth/logout
async logout({ auth }: HttpContext) {
// Logout user
await auth.use('web').logout()
}
// TODO: Magic link login // TODO: Magic link login
// magicLink({ }: HttpContext) { // magicLink({ }: HttpContext) {
// // Validate signed url (adonis) // // Validate signed url (adonis)

View file

@ -21,6 +21,7 @@ router.group(() => {
router.post('/auth/request', [AuthController, 'requestLogin']).use(authThrottle) router.post('/auth/request', [AuthController, 'requestLogin']).use(authThrottle)
router.post('/auth/verify', [AuthController, 'verifyCode']).use(throttle) router.post('/auth/verify', [AuthController, 'verifyCode']).use(throttle)
router.post('/auth/register', [AuthController, 'register']).use(throttle) router.post('/auth/register', [AuthController, 'register']).use(throttle)
router.post('/auth/logout', [AuthController, 'logout']).use(middleware.auth())
// TODO: Magic link login // TODO: Magic link login
// router.get('/auth/magic-link', 'AuthController.magicLink').use(throttle) // router.get('/auth/magic-link', 'AuthController.magicLink').use(throttle)
// router.get('/auth/listen', 'AuthController.listen') // router.get('/auth/listen', 'AuthController.listen')