#[non_exhaustive]pub struct OAuth2 {
pub flows: BTreeMap<String, Flow>,
pub oauth2_metadata_url: Option<String>,
pub description: Option<String>,
pub deprecated: Option<Deprecated>,
pub extensions: Option<Extensions>,
}Expand description
OAuth2 Flow configuration for SecurityScheme.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.flows: BTreeMap<String, Flow>Map of supported OAuth2 flows.
oauth2_metadata_url: Option<String>URL to OAuth2 authorization server metadata.
description: Option<String>Optional description for the OAuth2 Flow SecurityScheme.
deprecated: Option<Deprecated>Declares whether the security scheme is deprecated.
extensions: Option<Extensions>Optional extensions “x-something”.
Implementations§
Source§impl OAuth2
impl OAuth2
Sourcepub fn new<I: IntoIterator<Item = Flow>>(flows: I) -> Self
pub fn new<I: IntoIterator<Item = Flow>>(flows: I) -> Self
Construct a new OAuth2 security schema configuration object.
Oauth flow accepts slice of Flow configuration objects and can be optionally provided with description.
§Examples
Create new OAuth2 flow with multiple authentication flows.
OAuth2::new([Flow::Password(
Password::with_refresh_url(
"https://localhost/oauth/token",
Scopes::from_iter([
("edit:items", "edit my items"),
("read:items", "read my items")
]),
"https://localhost/refresh/token"
)),
Flow::AuthorizationCode(
AuthorizationCode::new(
"https://localhost/authorization/token",
"https://localhost/token/url",
Scopes::from_iter([
("edit:items", "edit my items"),
("read:items", "read my items")
])),
),
]);Sourcepub fn with_description<I: IntoIterator<Item = Flow>, S: Into<String>>(
flows: I,
description: S,
) -> Self
pub fn with_description<I: IntoIterator<Item = Flow>, S: Into<String>>( flows: I, description: S, ) -> Self
Construct a new OAuth2 flow with optional description supporting markdown syntax.
§Examples
Create new OAuth2 flow with multiple authentication flows with description.
OAuth2::with_description([Flow::Password(
Password::with_refresh_url(
"https://localhost/oauth/token",
Scopes::from_iter([
("edit:items", "edit my items"),
("read:items", "read my items")
]),
"https://localhost/refresh/token"
)),
Flow::AuthorizationCode(
AuthorizationCode::new(
"https://localhost/authorization/token",
"https://localhost/token/url",
Scopes::from_iter([
("edit:items", "edit my items"),
("read:items", "read my items")
])
),
),
], "my oauth2 flow");Sourcepub fn with_metadata_url<S: Into<String>>(self, oauth2_metadata_url: S) -> Self
pub fn with_metadata_url<S: Into<String>>(self, oauth2_metadata_url: S) -> Self
Add OAuth2 authorization server metadata URL.
§Examples
Add authorization server metadata URL to an existing OAuth2 security scheme.
OAuth2::new([Flow::Password(
Password::new(
"https://localhost/oauth/token",
Scopes::from_iter([("edit:items", "edit my items")]),
),
)])
.with_metadata_url("https://localhost/.well-known/oauth-authorization-server");Sourcepub fn deprecated(self, deprecated: Option<Deprecated>) -> Self
pub fn deprecated(self, deprecated: Option<Deprecated>) -> Self
Add or change deprecated status.
Declaring a security scheme deprecated signals to API consumers that they should migrate
away from it. This is an OpenAPI 3.2 addition available on all SecurityScheme variants.
§Examples
Mark an OAuth2 security scheme as deprecated.
OAuth2::new([Flow::Password(
Password::new(
"https://localhost/oauth/token",
Scopes::from_iter([("edit:items", "edit my items")]),
),
)])
.deprecated(Some(Deprecated::True));Trait Implementations§
Source§impl<'de> Deserialize<'de> for OAuth2
impl<'de> Deserialize<'de> for OAuth2
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for OAuth2
impl StructuralPartialEq for OAuth2
Auto Trait Implementations§
impl Freeze for OAuth2
impl RefUnwindSafe for OAuth2
impl Send for OAuth2
impl Sync for OAuth2
impl Unpin for OAuth2
impl UnsafeUnpin for OAuth2
impl UnwindSafe for OAuth2
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.