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:

14 lines (13 loc) 707 B
import { Context } from 'koa'; import { OpenAPIV3 } from 'openapi-types'; import { Promisable } from 'type-fest'; import { OAuth2Client, SecurityCheck } from './types'; export declare type GetOAuth2User<User = unknown, Client = unknown> = (accessToken: string, ctx: Context) => Promisable<[User, Client & OAuth2Client]>; /** * Get a user based on an oauth2 security scheme. * * @param scheme - The OpenAPI security scheme. * @param userGetter - A function for getting a user. * @returns A tuple containing the user and the OAuth2 client. */ export declare function oauth2SecurityCheck(scheme: OpenAPIV3.OAuth2SecurityScheme | OpenAPIV3.OpenIdSecurityScheme, userGetter: GetOAuth2User): SecurityCheck;