ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
67 lines (66 loc) • 3.27 kB
TypeScript
import { LaunchContext } from '#services/launch/launch-context.service';
import type { HttpHandler } from '#services/http-handler/http-handler.types';
import type { DatabaseManager } from '#services/database-manager/database-manager.types';
import type { PlatformManager } from '#services/platform-manager/platform-manager.service';
import type { AccessTokenManager } from '#services/access-token-manager/access-token-manager.service';
import type { OidcService } from '#services/oidc/oidc.service';
import type { RequestHandler } from '#services/request-handler/request-handler.types';
import type { Logger } from '#services/logger/logger.types';
import type { InactivePlatformHandler, LaunchRoutes, OnLaunchHandler, UnregisteredPlatformHandler } from '#services/launch/launch.types';
export declare class LaunchService {
private readonly LOG_COMPONENT;
private readonly RECOVERED_STATE_FIELD;
private readonly LOCAL_STORAGE_KEY_PREFIX;
private readonly DEFAULT_LOGIN_ROUTE;
private readonly DEFAULT_LAUNCH_ROUTE;
private readonly LTIK_TTL_SECONDS;
private readonly LOGIN_REDIRECT_TEMPLATE;
private readonly SIGNED_STATE_FORM_TEMPLATE;
private readonly DEFAULT_SUCCESS_BODY;
private readonly databaseManager;
private readonly platformManager;
private readonly accessTokenManager;
private readonly oidcService;
private readonly requestHandler;
private readonly httpHandler;
private readonly logger;
private onResourceLinkHandler;
private onDeepLinkingHandler;
private onSubmissionReviewHandler;
private onUnregisteredPlatformHandler;
private onInactivePlatformHandler;
constructor(oidcService: OidcService, platformManager: PlatformManager, accessTokenManager: AccessTokenManager, databaseManager: DatabaseManager, requestHandler: RequestHandler, httpHandler: HttpHandler, logger: Logger);
setOnResourceLinkHandler(handler: OnLaunchHandler): void;
setOnDeepLinkingHandler(handler: OnLaunchHandler): void;
setOnSubmissionReviewHandler(handler: OnLaunchHandler): void;
setOnUnregisteredPlatformHandler(handler: UnregisteredPlatformHandler): void;
setOnInactivePlatformHandler(handler: InactivePlatformHandler): void;
private buildDefaultLaunchHandler;
private buildDefaultUnregisteredPlatformHandler;
private buildDefaultInactivePlatformHandler;
getLaunchContext(ltik: string): Promise<LaunchContext>;
prepareHttpRoutes(routes?: LaunchRoutes): void;
/** Registers `path` as an additional launch route, dispatching through the same launch handlers as any other. */
registerLaunchRoute(path: string): void;
private buildLaunchContext;
private buildLtik;
private peekLtikTid;
private verifyLtik;
private handleLoginRequest;
private handleLaunchRequest;
private updateQueryWithState;
private resolveHandler;
private processLaunch;
private resolveTargetLinkUri;
private processLogin;
private resolvePlatform;
private resolveIdTokenPlatform;
private resolveRecoveredState;
private isSameOriginRequest;
private buildLocalStorageKey;
private peekStateToken;
private toDataScript;
private splitTargetLinkUri;
private joinTargetLinkUri;
}
export default LaunchService;