@shard-auth/client
Version:
Next-generation API authentication without secret keys - MPC-based authentication with FROST threshold signatures
50 lines • 1.53 kB
TypeScript
import { SecureStorage } from './secure-storage';
import { HttpResponse, RetryPolicy } from './types';
interface ShardAuthClientOptions {
shareStorage: SecureStorage;
apiEndpoint: string;
signatureEndpoint: string;
timeout?: number;
httpClient?: any;
retryPolicy?: RetryPolicy;
}
/**
* Shard-Auth認証を使用するHTTPクライアント
*
* @example
* ```typescript
* const client = new ShardAuthClient({
* shareStorage: new SecureStorage('./share.key'),
* apiEndpoint: 'https://api.example.com',
* signatureEndpoint: 'https://auth.example.com'
* });
*
* const response = await client.get('/api/v1/users');
* ```
*/
export declare class ShardAuthClient {
private shareStorage;
private apiEndpoint;
private signatureEndpoint;
private timeout;
private httpClient;
private retryPolicy;
private signatureClient?;
private share?;
private destroyed;
constructor(options: ShardAuthClientOptions);
private ensureInitialized;
private signRequest;
private makeRequest;
get(path: string): Promise<HttpResponse>;
post(path: string, body: any): Promise<HttpResponse>;
put(path: string, body: any): Promise<HttpResponse>;
delete(path: string): Promise<HttpResponse>;
patch(path: string, body: any): Promise<HttpResponse>;
head(path: string): Promise<HttpResponse>;
options(path: string): Promise<HttpResponse>;
destroy(): void;
isDestroyed(): boolean;
}
export {};
//# sourceMappingURL=shard-auth-client.d.ts.map