open-collaboration-server
Version:
Open Collaboration Server implementation, part of the Open Collaboration Tools project
32 lines • 1.4 kB
TypeScript
import { User } from './types.js';
import { UserManager } from './user-manager.js';
import { nanoid } from 'nanoid';
import { Disposable, Event } from 'open-collaboration-protocol';
import { Logger } from './utils/logging.js';
import { UserInfo } from './auth-endpoints/auth-endpoint.js';
import { Configuration } from './utils/configuration.js';
export interface DelayedAuth extends Disposable {
update(jwt: string): void;
onUpdate: Event<string>;
onFail: Event<Error>;
jwt?: string;
}
export declare class CredentialsManager {
protected readonly userManager: UserManager;
protected logger: Logger;
protected configuration: Configuration;
protected deferredAuths: Map<string, DelayedAuth>;
protected nanoid: typeof nanoid;
initialize(): void;
confirmUser(confirmToken: string, user: UserInfo): Promise<string>;
startAuth(): Promise<string>;
getAuth(confirmToken: string): Promise<DelayedAuth | undefined>;
getUser(token: string): Promise<User | undefined>;
verifyJwt<T extends object>(jwt: string, verify: (obj: unknown) => obj is T): Promise<T>;
protected getJwtPrivateKey(): Uint8Array;
generateJwt(payload: object): Promise<string>;
protected getJwtExpiration(): Promise<string | number | undefined>;
protected generateAlphabet(): typeof nanoid;
secureId(): string;
}
//# sourceMappingURL=credentials-manager.d.ts.map