@jokio/sdk
Version:
pure js/ts sdk for building decentralised localfirst web apps. Provides tts ai model integrations, realtime p2p communication & crypto encryptions.
54 lines (53 loc) • 1.46 kB
TypeScript
import { StorageService } from './storage.service';
type Options = {
authUrl: string;
storage: StorageService;
};
export declare class AuthService {
private options;
get url(): string;
onUserDataUpdate?: (data: UserAuthData | null) => void;
constructor(options: Options);
me(): Promise<{
jwtData: UserAuthData;
accessToken: string;
error?: string;
}>;
requestEmailLogin(email: string, returnUrl?: string): Promise<boolean>;
completeEmailLogin(email: string, otpCode: string): Promise<UserAuthData>;
requestPasskeyLogin(opts?: {
displayName?: string;
isRegistration?: boolean;
addAsAdditionalDevice?: boolean;
}): Promise<UserAuthData>;
guestLogin(): Promise<UserAuthData>;
signOut(): void;
getLastLoginData(): Promise<UserAuthData | null>;
getAccessToken(): Promise<string | null>;
getSessionSeed(): Promise<string | null>;
getAuthHeader(): Promise<{
authorization: string;
} | undefined>;
}
export type UserAuthData = {
name: string;
email: string;
userId: string;
sessionId: string;
verified: boolean;
nats: {
bearer_token: boolean;
pub: {
allow: string[];
};
sub: {
allow: string[];
};
limits: {
max_msgs: number;
max_bytes: number;
max_msgs_per_subject: number;
};
};
};
export {};