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
TypeScript
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;