koas-security
Version:
Koas security checks if a request matches the security requirement of an operation. For example, given the following partial OpenAPI document:
17 lines (16 loc) • 926 B
TypeScript
import { Context } from 'koa';
import { OpenAPIV3 } from 'openapi-types';
import { Promisable } from 'type-fest';
import { SecurityCheck } from './types';
declare type GetHttpBasicUser<User = unknown, Client = unknown> = (username: string, password: string, ctx: Context) => Promisable<User | [User, Client?]>;
declare type GetHttpBearerUser<User = unknown, Client = unknown> = (accessToken: string, ctx: Context) => Promisable<User | [User, Client?]>;
export declare type GetHttpUser<User = unknown, Client = unknown> = GetHttpBasicUser<User, Client> | GetHttpBearerUser<User, Client>;
/**
* Get a user based on an http security scheme.
*
* @param scheme - The OpenAPI security scheme.
* @param userGetter - A function for getting a user.
* @returns A tuple containing just the user.
*/
export declare function httpSecurityCheck(scheme: OpenAPIV3.HttpSecurityScheme, userGetter: GetHttpUser): SecurityCheck;
export {};