@adonisjs/auth
Version:
Official authentication provider for Adonis framework
38 lines (37 loc) • 1.57 kB
TypeScript
import type { PluginFn } from '@japa/runner/types';
import type { ApplicationService } from '@adonisjs/core/types';
import type { Authenticators, GuardContract, GuardFactory } from '../../types.ts';
declare module 'playwright' {
interface BrowserContext {
/**
* Login a user using the default authentication guard when
* using the browser context to make page visits
*/
loginAs(...args: {
[K in keyof Authenticators]: Authenticators[K] extends GuardFactory ? ReturnType<Authenticators[K]> extends GuardContract<unknown> ? Parameters<ReturnType<Authenticators[K]>['authenticateAsClient']> : never : never;
}[keyof Authenticators]): Promise<void>;
/**
* Define the authentication guard for login
*/
withGuard<K extends keyof Authenticators>(guard: K): {
/**
* Login a user using a specific auth guard
*/
loginAs(...args: ReturnType<Authenticators[K]> extends GuardContract<unknown> ? Parameters<ReturnType<Authenticators[K]>['authenticateAsClient']> : never): Promise<void>;
};
}
}
/**
* Browser API client to authenticate users when making
* HTTP requests using the Japa Browser client.
*
* @param app - The AdonisJS application service instance
*
* @example
* import { authBrowserClient } from '@adonisjs/auth/plugins/japa/browser_client'
*
* export const plugins: PluginFn[] = [
* authBrowserClient(app)
* ]
*/
export declare const authBrowserClient: (app: ApplicationService) => PluginFn;