@adonisjs/auth
Version:
Official authentication provider for Adonis framework
36 lines (35 loc) • 1.56 kB
TypeScript
import type { HttpContext } from '@adonisjs/core/http';
import type { ConfigProvider } from '@adonisjs/core/types';
import { AccessTokensGuard } from './guard.ts';
import type { GuardConfigProvider } from '../../src/types.ts';
import { AccessTokensLucidUserProvider } from './user_providers/lucid.ts';
import type { LucidTokenable, AccessTokensUserProviderContract, AccessTokensLucidUserProviderOptions } from './types.ts';
/**
* Configures access tokens guard for authentication
*
* @param config - Configuration object containing the user provider
*
* @example
* const guard = tokensGuard({
* provider: tokensUserProvider({
* model: () => import('#models/user'),
* tokens: 'accessTokens'
* })
* })
*/
export declare function tokensGuard<UserProvider extends AccessTokensUserProviderContract<unknown>>(config: {
provider: UserProvider | ConfigProvider<UserProvider>;
}): GuardConfigProvider<(ctx: HttpContext) => AccessTokensGuard<UserProvider>>;
/**
* Configures user provider that uses Lucid models to verify
* access tokens and find users during authentication.
*
* @param config - Configuration options for the Lucid user provider
*
* @example
* const userProvider = tokensUserProvider({
* model: () => import('#models/user'),
* tokens: 'accessTokens'
* })
*/
export declare function tokensUserProvider<TokenableProperty extends string, Model extends LucidTokenable<TokenableProperty>>(config: AccessTokensLucidUserProviderOptions<TokenableProperty, Model>): AccessTokensLucidUserProvider<TokenableProperty, Model>;