@stacks/auth
Version:
Authentication for Stacks apps.
32 lines (31 loc) • 1.47 kB
TypeScript
import { AppConfig } from './appConfig';
import { SessionOptions } from './sessionData';
import { SessionDataStore } from './sessionStore';
import { EncryptContentOptions } from '@stacks/encryption';
import { FetchFn } from '@stacks/common';
import { AuthScope } from './constants';
import { UserData } from './userData';
export declare class UserSession {
appConfig: AppConfig;
store: SessionDataStore;
constructor(options?: {
appConfig?: AppConfig;
sessionStore?: SessionDataStore;
sessionOptions?: SessionOptions;
});
makeAuthRequestToken(transitKey?: string, redirectURI?: string, manifestURI?: string, scopes?: (AuthScope | string)[], appDomain?: string, expiresAt?: number, extraParams?: any): string;
generateAndStoreTransitKey(): string;
getAuthResponseToken(): string;
isSignInPending(): boolean;
isUserSignedIn(): boolean;
handlePendingSignIn(authResponseToken?: string, fetchFn?: FetchFn): Promise<UserData>;
loadUserData(): UserData;
encryptContent(content: string | Uint8Array, options?: EncryptContentOptions): Promise<string>;
decryptContent(content: string, options?: {
privateKey?: string;
}): Promise<Uint8Array | string>;
signUserOut(redirectURL?: string): void;
}
export interface UserSession {
makeAuthRequest(...args: Parameters<typeof UserSession.prototype.makeAuthRequestToken>): ReturnType<typeof UserSession.prototype.makeAuthRequestToken>;
}