ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
41 lines (40 loc) • 2.36 kB
TypeScript
import type { PlatformManager } from '#services/platform-manager/platform-manager.service';
import type { RequestHandler } from '#services/request-handler/request-handler.types';
import type { HttpHandler, RouteHandler } from '#services/http-handler/http-handler.types';
import type { Logger } from '#services/logger/logger.types';
import type { Platform } from '#services/platform-manager/platform-manager.types';
import type { DynamicRegistrationOptions, DynamicRegistrationRoutes, OpenIDConfiguration, RegistrationOverrides } from '#services/dynamic-registration/dynamic-registration.types';
export declare class DynamicRegistration {
private readonly LOG_COMPONENT;
private readonly APPLICATION_TYPE;
private readonly TOKEN_ENDPOINT_AUTH_METHOD;
private readonly TOOL_CONFIGURATION_CLAIM;
private readonly PLATFORM_CONFIGURATION_CLAIM;
private readonly DEFAULT_PLATFORM_NAME;
private readonly DEFAULT_DYNAMIC_REGISTRATION_ROUTE;
private readonly OPENID_CONFIGURATION_QUERY_PARAM;
private readonly REGISTRATION_TOKEN_QUERY_PARAM;
readonly FINALIZE_REGISTRATION_HTML_SNIPPET = "<script>(window.opener || window.parent).postMessage({subject:\"org.imsglobal.lti.close\"}, \"*\");</script>";
private readonly options;
private readonly routes;
private readonly platformManager;
private readonly requestHandler;
private readonly httpHandler;
private readonly logger;
private handler;
constructor(options: DynamicRegistrationOptions, routes: DynamicRegistrationRoutes, platformManager: PlatformManager, requestHandler: RequestHandler, httpHandler: HttpHandler, logger: Logger);
prepareHttpRoutes(route?: string): void;
setHandler(handler: RouteHandler): void;
private buildDefaultRouteHandler;
getOpenIDConfiguration(url: string): Promise<OpenIDConfiguration>;
performRegistration(configuration: OpenIDConfiguration, registrationToken?: string, overrides?: RegistrationOverrides): Promise<Platform>;
register(openidConfigurationUrl: string | undefined, registrationToken?: string, overrides?: RegistrationOverrides): Promise<string>;
private resolvePlatformName;
private buildRegistrationRequestBody;
private buildMessage;
private buildUrl;
private getHostname;
private deepMerge;
private isPlainObject;
}
export default DynamicRegistration;