UNPKG

@hey-api/openapi-ts

Version:

🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.

41 lines (34 loc) • 809 B
export type AuthToken = string | undefined; export interface Auth { /** * Which part of the request do we use to send the auth? * * @default 'header' */ in?: 'header' | 'query' | 'cookie'; /** * Header or query parameter name. * * @default 'Authorization' */ name?: string; scheme?: 'basic' | 'bearer'; type: 'apiKey' | 'http'; } export const getAuthToken = async ( auth: Auth, callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken, ): Promise<string | undefined> => { const token = typeof callback === 'function' ? await callback(auth) : callback; if (!token) { return; } if (auth.scheme === 'bearer') { return `Bearer ${token}`; } if (auth.scheme === 'basic') { return `Basic ${btoa(token)}`; } return token; };