homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
30 lines (29 loc) • 1.17 kB
TypeScript
interface SettingsUiTicket {
pluginName: string;
username: string;
uiOrigin: string;
}
interface SettingsUiAssetSession {
pluginName: string;
username: string;
uiOrigin: string;
}
export interface ValidatedSettingsUiAssetSession extends SettingsUiAssetSession {
token: string;
}
export declare class PluginsSettingsUiTicketService {
static readonly assetSessionTtl = 1800;
private readonly tickets;
private readonly assetSessions;
issue(pluginName: string, username: string, requestOrigin?: string, requestHost?: string): string;
consume(ticket: unknown, pluginName: string): SettingsUiTicket;
issueAssetSession(pluginName: string, username: string, uiOrigin: string): string;
validateAssetSession(token: string | undefined, pluginName: string): ValidatedSettingsUiAssetSession;
revokeAssetSession(token: string | undefined, pluginName: string): void;
revokeUserPlugin(username: string, pluginName: string): void;
revokeUser(username: string): string[];
extractAssetSession(cookieHeader: string | undefined): string | undefined;
private digest;
private resolveDevelopmentOrigin;
}
export {};