@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
43 lines • 2.27 kB
TypeScript
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