@scalar/openapi-types
Version:
Modern OpenAPI types
823 lines • 32.7 kB
TypeScript
import { z } from 'zod';
export declare const ApiKeyInValues: readonly ["query", "header", "cookie"];
export declare const ApiKeySchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"apiKey">;
/**
* REQUIRED. The name of the header, query or cookie parameter to be used.
*
* TODO: Why do we use an empty string as the default?
*/
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
/**
* REQUIRED. The location of the API key. Valid values are "query", "header", or "cookie".
*/
in: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<["query", "header", "cookie"]>>>>;
}>, "strip", z.ZodTypeAny, {
name: string;
in: "query" | "header" | "cookie";
type: "apiKey";
description?: string | undefined;
}, {
type: "apiKey";
description?: string | undefined;
name?: string | undefined;
in?: unknown;
}>;
export declare const HttpSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"http">;
/**
* REQUIRED. The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235.
* The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive,
* as defined in RFC7235.
*/
scheme: z.ZodDefault<z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodEnum<["basic", "bearer"]>>>>;
/**
* 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: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"JWT">, z.ZodLiteral<"bearer">, z.ZodString]>>;
}>, "strip", z.ZodTypeAny, {
type: "http";
scheme: "basic" | "bearer";
description?: string | undefined;
bearerFormat?: string | undefined;
}, {
type: "http";
description?: string | undefined;
scheme?: string | undefined;
bearerFormat?: string | undefined;
}>;
export declare const OpenIdConnectSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"openIdConnect">;
/**
* REQUIRED. Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata.
*/
openIdConnectUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
}>, "strip", z.ZodTypeAny, {
type: "openIdConnect";
openIdConnectUrl: string;
description?: string | undefined;
}, {
type: "openIdConnect";
description?: string | undefined;
openIdConnectUrl?: string | undefined;
}>;
/**
* OAuth Flow Object
*
* Configuration details for a supported OAuth Flow
*/
export declare const OAuthFlowObjectSchema: z.ZodObject<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
refreshUrl?: string | undefined;
}, {
refreshUrl?: string | undefined;
scopes?: unknown;
}>;
export declare const ImplicitFlowSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"implicit">>;
authorizationUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
}>;
export declare const PasswordFlowSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"password">>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
}>;
export declare const ClientCredentialsFlowSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"clientCredentials">>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
}>;
export declare const AuthorizationCodeFlowSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"authorizationCode">>;
authorizationUrl: z.ZodDefault<z.ZodString>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
}>;
/**
* OAuth Flows Object
*
* Allows configuration of the supported OAuth Flows.
*
* @see https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#oauth-flows-object
*/
export declare const OAuthFlowsObjectSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"oauth2">;
/**
* REQUIRED. An object containing configuration information for the flow types supported.
*/
flows: z.ZodObject<{
implicit: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"implicit">>;
authorizationUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
}>>>;
password: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"password">>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
}>>>;
clientCredentials: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"clientCredentials">>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
}>>>;
authorizationCode: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"authorizationCode">>;
authorizationUrl: z.ZodDefault<z.ZodString>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
}>>>;
}, "strip", z.ZodTypeAny, {
implicit?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
} | undefined;
password?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
} | undefined;
clientCredentials?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
} | undefined;
authorizationCode?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
} | undefined;
}, {
implicit?: {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
} | undefined;
password?: {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
clientCredentials?: {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
authorizationCode?: {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
} | undefined;
}>;
}>, "strip", z.ZodTypeAny, {
type: "oauth2";
flows: {
implicit?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
} | undefined;
password?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
} | undefined;
clientCredentials?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
} | undefined;
authorizationCode?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
} | undefined;
};
description?: string | undefined;
}, {
type: "oauth2";
flows: {
implicit?: {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
} | undefined;
password?: {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
clientCredentials?: {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
authorizationCode?: {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
} | undefined;
};
description?: string | undefined;
}>;
export declare const MutualTlsSchema: z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"mutualTLS">;
}>, "strip", z.ZodTypeAny, {
type: "mutualTLS";
description?: string | undefined;
}, {
type: "mutualTLS";
description?: string | undefined;
}>;
/**
* Security Scheme Object
*
* Defines a security scheme that can be used by the operations.
*
* Supported schemes are HTTP authentication, an API key (either as a header, a cookie parameter or as a query
* parameter), mutual TLS (use of a client certificate), OAuth2's common flows (implicit, password, client credentials
* and authorization code) as defined in RFC6749, and [[OpenID-Connect-Core]]. Please note that as of 2020, the implicit
* flow is about to be deprecated by OAuth 2.0 Security Best Current Practice. Recommended for most use cases is
* Authorization Code Grant flow with PKCE.
*
* @see https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#security-scheme-object
*/
export declare const SecuritySchemeObjectSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"apiKey">;
/**
* REQUIRED. The name of the header, query or cookie parameter to be used.
*
* TODO: Why do we use an empty string as the default?
*/
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
/**
* REQUIRED. The location of the API key. Valid values are "query", "header", or "cookie".
*/
in: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodEnum<["query", "header", "cookie"]>>>>;
}>, "strip", z.ZodTypeAny, {
name: string;
in: "query" | "header" | "cookie";
type: "apiKey";
description?: string | undefined;
}, {
type: "apiKey";
description?: string | undefined;
name?: string | undefined;
in?: unknown;
}>, z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"http">;
/**
* REQUIRED. The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235.
* The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive,
* as defined in RFC7235.
*/
scheme: z.ZodDefault<z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodEnum<["basic", "bearer"]>>>>;
/**
* 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: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"JWT">, z.ZodLiteral<"bearer">, z.ZodString]>>;
}>, "strip", z.ZodTypeAny, {
type: "http";
scheme: "basic" | "bearer";
description?: string | undefined;
bearerFormat?: string | undefined;
}, {
type: "http";
description?: string | undefined;
scheme?: string | undefined;
bearerFormat?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"mutualTLS">;
}>, "strip", z.ZodTypeAny, {
type: "mutualTLS";
description?: string | undefined;
}, {
type: "mutualTLS";
description?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"oauth2">;
/**
* REQUIRED. An object containing configuration information for the flow types supported.
*/
flows: z.ZodObject<{
implicit: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"implicit">>;
authorizationUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
}>>>;
password: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"password">>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
}>>>;
clientCredentials: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"clientCredentials">>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
}>>>;
authorizationCode: z.ZodOptional<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
/**
* The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires
* the use of TLS.
*/
refreshUrl: z.ZodOptional<z.ZodString>;
/**
* REQUIRED. The available scopes for the OAuth2 security scheme. A map
* between the scope name and a short description for it. The map MAY be empty.
*/
scopes: z.ZodCatch<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>>>;
}, {
type: z.ZodOptional<z.ZodLiteral<"authorizationCode">>;
authorizationUrl: z.ZodDefault<z.ZodString>;
tokenUrl: z.ZodDefault<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
}, {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
}>>>;
}, "strip", z.ZodTypeAny, {
implicit?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
} | undefined;
password?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
} | undefined;
clientCredentials?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
} | undefined;
authorizationCode?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
} | undefined;
}, {
implicit?: {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
} | undefined;
password?: {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
clientCredentials?: {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
authorizationCode?: {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
} | undefined;
}>;
}>, "strip", z.ZodTypeAny, {
type: "oauth2";
flows: {
implicit?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
} | undefined;
password?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "password" | undefined;
refreshUrl?: string | undefined;
} | undefined;
clientCredentials?: {
scopes: Record<string, string | undefined>;
tokenUrl: string;
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
} | undefined;
authorizationCode?: {
scopes: Record<string, string | undefined>;
authorizationUrl: string;
tokenUrl: string;
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
} | undefined;
};
description?: string | undefined;
}, {
type: "oauth2";
flows: {
implicit?: {
type?: "implicit" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
} | undefined;
password?: {
type?: "password" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
clientCredentials?: {
type?: "clientCredentials" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
tokenUrl?: string | undefined;
} | undefined;
authorizationCode?: {
type?: "authorizationCode" | undefined;
refreshUrl?: string | undefined;
scopes?: unknown;
authorizationUrl?: string | undefined;
tokenUrl?: string | undefined;
} | undefined;
};
description?: string | undefined;
}>, z.ZodObject<z.objectUtil.extendShape<{
/**
* A description for security scheme. CommonMark syntax MAY be used for rich text representation.
*/
description: z.ZodOptional<z.ZodString>;
}, {
/**
* REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2",
* "openIdConnect".
*/
type: z.ZodLiteral<"openIdConnect">;
/**
* REQUIRED. Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata.
*/
openIdConnectUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
}>, "strip", z.ZodTypeAny, {
type: "openIdConnect";
openIdConnectUrl: string;
description?: string | undefined;
}, {
type: "openIdConnect";
description?: string | undefined;
openIdConnectUrl?: string | undefined;
}>]>;
//# sourceMappingURL=security-scheme-object.d.ts.map