UNPKG

@tsed/openspec

Version:

OpenSpec2 and OpenSpec3 interfaces declarations for TypeScript application

58 lines (57 loc) 1.75 kB
import { OS3Flows } from "./OS3Flows.js"; export interface OS3SecurityBase { /** * The type of the security scheme */ type: "apiKey" | "oauth2" | "http" | "openIdConnect"; /** * */ description?: string; } export interface OS3SecurityApiKey extends OS3SecurityBase { /** * The type of the security scheme */ type: "apiKey"; /** * The name of the header, query or cookie parameter to be used. */ name: string; /** * The location of the API key. Valid values are `query`, `header` or `cookie`. */ in: "query" | "header" | "cookie"; } export interface OS3SecurityOAuth2 extends OS3SecurityBase { /** * The type of the security scheme */ type: "oauth2"; /** * An object containing configuration information for the flow types supported. */ flows: OS3Flows; } export interface OS3SecurityOpenIDConnect extends OS3SecurityBase { /** * The type of the security scheme */ type: "openIdConnect"; openIdConnectUrl: string; } export interface OS3SecurityHTTP extends OS3SecurityBase { /** * The type of the security scheme */ type: "http"; /** * The name of the HTTP Authorization scheme to be used in the [Authorization header as defined in RFC7235](https://tools.ietf.org/html/rfc7235#section-5.1). */ scheme: string; /** * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes. */ bearerFormat?: string; } export type OS3Security = OS3SecurityApiKey | OS3SecurityHTTP | OS3SecurityOAuth2 | OS3SecurityOpenIDConnect;