cnpmcore
Version:
57 lines (56 loc) • 2.2 kB
TypeScript
import { EggContext } from '@eggjs/tegg';
import { EggLogger, EggAppConfig } from 'egg';
import { Static } from '@sinclair/typebox';
import type { PublicKeyCredentialCreationOptionsJSON, PublicKeyCredentialRequestOptionsJSON } from '@simplewebauthn/typescript-types';
import { UserService } from '../../core/service/UserService';
import { MiddlewareController } from '../middleware';
declare const LoginRequestRule: import("@sinclair/typebox").TObject<{
hostname: import("@sinclair/typebox").TString;
}>;
type LoginRequest = Static<typeof LoginRequestRule>;
type LoginPrepareResult = {
wanStatus: number;
wanCredentialRegiOption?: PublicKeyCredentialCreationOptionsJSON;
wanCredentialAuthOption?: PublicKeyCredentialRequestOptionsJSON;
};
type LoginImplementRequest = {
accData: {
username: string;
password: string;
};
wanCredentialRegiData: unknown;
wanCredentialAuthData: unknown;
needUnbindWan: boolean;
};
export declare class WebauthController extends MiddlewareController {
private cacheAdapter;
private authAdapter;
protected logger: EggLogger;
protected config: EggAppConfig;
protected userService: UserService;
login(ctx: EggContext, loginRequest: LoginRequest): Promise<import("../../common/typing").AuthUrlResult>;
loginRender(ctx: EggContext, sessionId: string): Promise<"<h1>😭😭😭 Session not found, please try again on your command line 😭😭😭</h1>" | undefined>;
loginImplement(ctx: EggContext, sessionId: string, loginImplementRequest: LoginImplementRequest): Promise<{
ok: boolean;
message: string;
} | {
ok: boolean;
message?: undefined;
}>;
loginPrepare(ctx: EggContext, sessionId: string, name: string): Promise<LoginPrepareResult | {
ok: boolean;
message: string;
}>;
ssoRequest(ctx: EggContext, sessionId: string): Promise<{
success: boolean;
}>;
loginRequestSuccess(ctx: EggContext): Promise<string>;
loginDone(ctx: EggContext, sessionId: string): Promise<{
message: string;
token?: undefined;
} | {
token: string;
message?: undefined;
}>;
}
export {};