UNPKG

magento2-api-wrapper

Version:

Minimal Magento 2 API library. Both node and browser compatible

63 lines (62 loc) 1.83 kB
/// <reference types="node" /> export type OAuthOptions = { consumer: OAuthKey; version?: string; realm?: string; signatureMethod?: string; hashMethods?: { [name: string]: OAuthHashFn; }; nonceLength?: number; }; type OAuthRequest = Pick<Request, "method" | "url"> & Partial<Pick<Request, "headers" | "body">>; type OAuthKey = { key: string; secret: string; }; type OAuthHashFn = (key: string, content: string) => Promise<string>; type OAuthData = { oauth_consumer_key: string; oauth_nonce: string; oauth_signature_method: string; oauth_timestamp: string; oauth_token: string; oauth_version: string; }; /** * A OAuth 1.0a implementation, planned for Magento 2 usage. * * @see https://oauth.net/core/1.0a/ */ export declare class OAuth { consumer: OAuthKey; version: string; realm?: string; signatureMethod: string; hashMethods: { [name: string]: OAuthHashFn; }; nonceLength: number; constructor(opts: OAuthOptions); /** * Returns signed Authorization header value */ authorize(request: OAuthRequest, token: OAuthKey): Promise<string>; /** * Signs Request and adds Authorize header */ authRequest(request: Request, token: OAuthKey): Promise<string>; getSignatureBaseString(request: OAuthRequest, oauthData: OAuthData): Promise<string>; /** * Collects request params used for signing in a entries array format */ collectRequestParams(request: Omit<OAuthRequest, "method">): Promise<string[][]>; /** * Constructs url for signing according to RFC section 9.1.2 Construct Request URL */ constructRequestUrl(request: Pick<Request, "url">): string; hashKey(token: OAuthKey): string; nonce(): string; timestamp(): string; } export {};