UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

43 lines 2.27 kB
import type { HonoRequest } from 'hono'; import type { ISSOProvider, ISessionProvider, IUserProvider, User, Session, SSOCallbackResult, SSOLoginConfig } from '../auth/index.js'; import { MastraAuthProvider } from './auth.js'; export declare class CompositeAuth extends MastraAuthProvider implements ISSOProvider<User>, ISessionProvider<Session>, IUserProvider<User> { private providers; private authenticatedProviderByObject; private authenticatedProviderByPrimitive; constructor(providers: MastraAuthProvider[]); private findProvider; private rememberAuthenticatedProvider; private takeAuthenticatedProvider; private mapAuthenticatedUserToResourceId; /** * True if any provider is MastraCloudAuth (exempt from license requirement). */ get isMastraCloudAuth(): boolean; /** * True if any provider is SimpleAuth (exempt from license requirement). */ get isSimpleAuth(): boolean; authenticateToken(token: string, request: HonoRequest): Promise<unknown | null>; authorizeUser(user: unknown, request: HonoRequest): Promise<boolean>; /** * Forward cookie header to SSO provider for PKCE validation. * Called by auth handler before handleCallback(). */ setCallbackCookieHeader(cookieHeader: string | null): void; getLoginUrl(redirectUri: string, state: string): string; getLoginCookies(redirectUri: string, state: string): string[] | undefined; handleCallback(code: string, state: string): Promise<SSOCallbackResult<User>>; getLoginButtonConfig(): SSOLoginConfig; getLogoutUrl(redirectUri: string, request?: Request): Promise<string | null>; createSession(userId: string, metadata?: Record<string, unknown>): Promise<Session>; validateSession(sessionId: string): Promise<Session | null>; destroySession(sessionId: string): Promise<void>; refreshSession(sessionId: string): Promise<Session | null>; getSessionIdFromRequest(request: Request): string | null; getSessionHeaders(session: Session): Record<string, string>; getClearSessionHeaders(): Record<string, string>; getCurrentUser(request: Request): Promise<User | null>; getUser(userId: string): Promise<User | null>; } //# sourceMappingURL=composite-auth.d.ts.map