#[non_exhaustive]pub struct OAuth2 {
pub flows: BTreeMap<String, Flow>,
pub description: Option<String>,
}
Expand description
OAuth2 Flow
configuration for SecurityScheme
.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
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.
description: Option<String>
Optional description for the OAuth2
Flow
SecurityScheme
.
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");
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<OAuth2> for OAuth2
impl PartialEq<OAuth2> for OAuth2
impl Eq for OAuth2
impl StructuralEq for OAuth2
impl StructuralPartialEq for OAuth2
Auto Trait Implementations§
impl RefUnwindSafe for OAuth2
impl Send for OAuth2
impl Sync for OAuth2
impl Unpin 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
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.