UNPKG

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
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 {};