pub enum SecurityScheme {
Show 13 variants
UserPassword {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
ApiKey {
description: Option<String>,
location: String,
extensions: IndexMap<String, Value>,
},
X509 {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
SymmetricEncryption {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
AsymmetricEncryption {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
HttpApiKey {
description: Option<String>,
name: String,
location: String,
extensions: IndexMap<String, Value>,
},
Http {
description: Option<String>,
scheme: String,
bearer_format: Option<String>,
extensions: IndexMap<String, Value>,
},
OAuth2 {
description: Option<String>,
flows: OAuthFlows,
extensions: IndexMap<String, Value>,
},
OpenIdConnect {
description: Option<String>,
open_id_connect_url: String,
extensions: IndexMap<String, Value>,
},
Plain {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
ScramSha256 {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
ScramSha512 {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
Gssapi {
description: Option<String>,
extensions: IndexMap<String, Value>,
},
}
Expand description
Defines a security scheme that can be used by the operations. Supported schemes are:
- User/Password.
- API key (either as user or as password).
- X.509 certificate.
- End-to-end encryption (either symmetric or asymmetric).
- HTTP authentication.
- HTTP API key.
- OAuth2’s common flows (Implicit, Resource Owner Protected Credentials, Client Credentials and Authorization Code) as defined in RFC6749.
- OpenID Connect Discovery.
- SASL (Simple Authentication and Security Layer) as defined in RFC4422.
§Examples
§User/Password Authentication Sample
{
"type": "userPassword"
}
type: userPassword
§API Key Authentication Sample
{
"type": "apiKey",
"in": "user"
}
type: apiKey,
in: user
§X.509 Authentication Sample
{
"type": "X509"
}
type: X509
§End-to-end Encryption Authentication Sample
{
"type": "symmetricEncryption"
}
type: symmetricEncryption
§Basic Authentication Sample
{
"type": "http",
"scheme": "basic"
}
type: http
scheme: basic
§API Key Sample
{
"type": "httpApiKey",
"name": "api_key",
"in": "header"
}
type: httpApiKey
name: api_key
in: header
§JWT Bearer Sample
{
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
type: http
scheme: bearer
bearerFormat: JWT
§Implicit OAuth2 Sample
{
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "https://example.com/api/oauth/dialog",
"scopes": {
"write:pets": "modify pets in your account",
"read:pets": "read your pets"
}
}
}
}
type: oauth2
flows:
implicit:
authorizationUrl: https://example.com/api/oauth/dialog
scopes:
write:pets: modify pets in your account
read:pets: read your pets
§SASL Sample
{
"type": "scramSha512"
}
type: scramSha512
Variants§
UserPassword
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
ApiKey
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
X509
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
SymmetricEncryption
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
AsymmetricEncryption
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
HttpApiKey
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
location: String
REQUIRED. The location of the API key.
Valid values are "query"
, "header"
or "cookie"
.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
Http
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
scheme: String
REQUIRED. The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235.
bearer_format: Option<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.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
OAuth2
§Examples
{
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "https://example.com/api/oauth/dialog",
"scopes": {
"write:pets": "modify pets in your account",
"read:pets": "read your pets"
}
},
"authorizationCode": {
"authorizationUrl": "https://example.com/api/oauth/dialog",
"tokenUrl": "https://example.com/api/oauth/token",
"scopes": {
"write:pets": "modify pets in your account",
"read:pets": "read your pets"
}
}
}
}
type: oauth2
flows:
implicit:
authorizationUrl: https://example.com/api/oauth/dialog
scopes:
write:pets: modify pets in your account
read:pets: read your pets
authorizationCode:
authorizationUrl: https://example.com/api/oauth/dialog
tokenUrl: https://example.com/api/oauth/token
scopes:
write:pets: modify pets in your account
read:pets: read your pets
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
flows: OAuthFlows
REQUIRED. An object containing configuration information for the flow types supported.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
OpenIdConnect
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
open_id_connect_url: String
REQUIRED. OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
Plain
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
ScramSha256
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
ScramSha512
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
Gssapi
Fields
description: Option<String>
A short description for security scheme. CommonMark syntax MAY be used for rich text representation.
extensions: IndexMap<String, Value>
This object MAY be extended with Specification Extensions.
Trait Implementations§
Source§impl Clone for SecurityScheme
impl Clone for SecurityScheme
Source§fn clone(&self) -> SecurityScheme
fn clone(&self) -> SecurityScheme
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more