diff --git a/app/controllers/auth_controller.ts b/app/controllers/auth_controller.ts index 3be99a6..ef52220 100644 --- a/app/controllers/auth_controller.ts +++ b/app/controllers/auth_controller.ts @@ -9,7 +9,7 @@ import User from '#models/user' @inject() export default class AuthController { - constructor(private authService: AuthService) { } + constructor(private authService: AuthService) {} // POST /auth/request 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 return { success: true, - user + user, } } @@ -115,16 +115,22 @@ export default class AuthController { firstName, lastName, className, - email + email, }) // Perform login await auth.use('web').login(user, true) // true for remember me return { success: true, - user + user, } } + // POST /auth/logout + async logout({ auth }: HttpContext) { + // Logout user + await auth.use('web').logout() + } + // TODO: Magic link login // magicLink({ }: HttpContext) { // // Validate signed url (adonis) diff --git a/start/routes.ts b/start/routes.ts index 3f26a15..3c3506a 100644 --- a/start/routes.ts +++ b/start/routes.ts @@ -21,6 +21,7 @@ router.group(() => { router.post('/auth/request', [AuthController, 'requestLogin']).use(authThrottle) router.post('/auth/verify', [AuthController, 'verifyCode']).use(throttle) router.post('/auth/register', [AuthController, 'register']).use(throttle) + router.post('/auth/logout', [AuthController, 'logout']).use(middleware.auth()) // TODO: Magic link login // router.get('/auth/magic-link', 'AuthController.magicLink').use(throttle) // router.get('/auth/listen', 'AuthController.listen')