25 lines
		
	
	
		
			No EOL
		
	
	
		
			645 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			No EOL
		
	
	
		
			645 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import type { HttpContext } from '@adonisjs/core/http'
 | |
| import type { NextFn } from '@adonisjs/core/types/http'
 | |
| import type { Authenticators } from '@adonisjs/auth/types'
 | |
| 
 | |
| /**
 | |
|  * Auth middleware is used authenticate HTTP requests and deny
 | |
|  * access to unauthenticated users.
 | |
|  */
 | |
| export default class AuthMiddleware {
 | |
|   /**
 | |
|    * The URL to redirect to, when authentication fails
 | |
|    */
 | |
|   redirectTo = '/login'
 | |
| 
 | |
|   async handle(
 | |
|     ctx: HttpContext,
 | |
|     next: NextFn,
 | |
|     options: {
 | |
|       guards?: (keyof Authenticators)[]
 | |
|     } = {}
 | |
|   ) {
 | |
|     await ctx.auth.authenticateUsing(options.guards, { loginRoute: this.redirectTo })
 | |
|     return next()
 | |
|   }
 | |
| } | 
