ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
25 lines (24 loc) • 1.05 kB
TypeScript
export interface AuthenticationRequestParams {
loginHint: string;
redirectUri: string;
state: string;
ltiMessageHint?: string;
ltiDeploymentId?: string;
}
export interface State {
/** Ties this state token to the separate, never-sent-to-the-platform recovery token stored client-side. */
stateId: string;
query?: Record<string, string>;
/** The login-time `target_link_uri` fragment, restored only if the id_token's own claim has none. */
fragment?: string;
/** The platform's declared postMessage storage target frame name (`lti_storage_target`), if it sent one at login. */
storageTarget?: string;
/** The platform's authentication endpoint origin, captured at login time so the launch page can target postMessage calls precisely. */
platformLoginOrigin?: string;
}
/** The parts of the login-time `target_link_uri` carried in the state token. */
export type TargetLinkUriState = Pick<State, 'query' | 'fragment'>;
export interface StorageTarget {
target: string;
loginOrigin: string;
}