Struct utoipa::openapi::security::ClientCredentials
source · #[non_exhaustive]pub struct ClientCredentials {
pub token_url: String,
pub refresh_url: Option<String>,
pub scopes: Scopes,
}
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.token_url: String
Token url used for ClientCredentials
flow. OAuth2 standard requires TLS.
refresh_url: Option<String>
Optional refresh token url.
scopes: Scopes
Scopes required by the flow.
Implementations§
source§impl ClientCredentials
impl ClientCredentials
sourcepub fn new<S: Into<String>>(token_url: S, scopes: Scopes) -> Self
pub fn new<S: Into<String>>(token_url: S, scopes: Scopes) -> Self
Construct a new client credentials oauth flow.
Accepts two arguments: one which is a token url and two a map of scopes for oauth flow.
§Examples
Create new client credentials flow with scopes.
ClientCredentials::new(
"https://localhost/token",
Scopes::from_iter([
("edit:items", "edit my items"),
("read:items", "read my items")
]),
);
Create new client credentials flow without any scopes.
ClientCredentials::new(
"https://localhost/token",
Scopes::new(),
);
sourcepub fn with_refresh_url<S: Into<String>>(
token_url: S,
scopes: Scopes,
refresh_url: S,
) -> Self
pub fn with_refresh_url<S: Into<String>>( token_url: S, scopes: Scopes, refresh_url: S, ) -> Self
Construct a new client credentials oauth flow with additional refresh url.
This is essentially same as ClientCredentials::new
but allows defining third parameter for
refresh_url
.
§Examples
Create new client credentials for with refresh url.
ClientCredentials::with_refresh_url(
"https://localhost/token",
Scopes::from_iter([
("edit:items", "edit my items"),
("read:items", "read my items")
]),
"https://localhost/refresh-url"
);
Trait Implementations§
source§impl Clone for ClientCredentials
impl Clone for ClientCredentials
source§fn clone(&self) -> ClientCredentials
fn clone(&self) -> ClientCredentials
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'de> Deserialize<'de> for ClientCredentials
impl<'de> Deserialize<'de> for ClientCredentials
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 for ClientCredentials
impl PartialEq for ClientCredentials
source§impl Serialize for ClientCredentials
impl Serialize for ClientCredentials
impl Eq for ClientCredentials
impl StructuralPartialEq for ClientCredentials
Auto Trait Implementations§
impl Freeze for ClientCredentials
impl RefUnwindSafe for ClientCredentials
impl Send for ClientCredentials
impl Sync for ClientCredentials
impl Unpin for ClientCredentials
impl UnwindSafe for ClientCredentials
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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
Compare self to
key
and return true
if they are equal.