UNPKG

@adonisjs/auth

Version:

Official authentication provider for Adonis framework

36 lines (35 loc) 1.56 kB
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>;