Enum glimesh::Auth [−][src]
pub enum Auth { ClientId(String), AccessToken(String), RefreshableAccessToken(RefreshableAccessToken), ClientCredentials(ClientCredentials), }
Authentication method. The Glimesh API requires an authentication method to be used. The most basic is the ClientId method, which gives you read only access to the api.
Variants
ClientId(String)
Use Client-ID authentication. When using this method, you can only ‘read’ from the API.
AccessToken(String)
Use Bearer authentication.
The supplied access token is assumed to be valid.
If you would like the client to handle token refreshing, use Auth::RefreshableAccessToken
instead.
Use Bearer authentication. This will use the provided refresh token to refresh the access token when/if it expires.
Use Bearer authentication via the client_credentials flow.
This allows you to log in to the api as the account that created the developer application.
Implementations
impl Auth
[src]
pub fn client_id(client_id: impl Into<String>) -> Self
[src]
Use Client-ID authentication. When using this method, you can only ‘read’ from the API.
pub fn access_token(access_token: impl Into<String>) -> Self
[src]
Use Bearer authentication.
The supplied access token is assumed to be valid.
If you would like the client to handle token refreshing, use Auth::RefreshableAccessToken
instead.
pub fn refreshable_access_token(
client_id: impl Into<String>,
client_secret: impl Into<String>,
redirect_uri: impl Into<String>,
access_token: AccessToken
) -> (Self, Receiver<AccessToken>)
[src]
client_id: impl Into<String>,
client_secret: impl Into<String>,
redirect_uri: impl Into<String>,
access_token: AccessToken
) -> (Self, Receiver<AccessToken>)
Use Bearer authentication. This will use the provided refresh token to refresh the access token when/if it expires.
You can listen for updates to the token using the tokio::sync::watch::Receiver
returned as the second
part of the tuple.
Example
let (auth, token_receiver) = Auth::refreshable_access_token( "<client_id>", "<client_secret>", "<redirect_uri>", AccessToken { .. }, ); tokio::spawn(async move { while token_receiver.changed().await.is_ok() { println!("new token = {:#?}", *token_receiver.borrow()); } });
Panics
This function panics if the TLS backend cannot be initialized, or the resolver cannot load the system configuration.
pub fn client_credentials(
client_id: impl Into<String>,
client_secret: impl Into<String>
) -> Self
[src]
client_id: impl Into<String>,
client_secret: impl Into<String>
) -> Self
Use Bearer authentication via the client_credentials flow.
This allows you to log in to the api as the account that created the developer application.
Panics
This function panics if the TLS backend cannot be initialized, or the resolver cannot load the system configuration.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Auth
impl Send for Auth
impl Sync for Auth
impl Unpin for Auth
impl !UnwindSafe for Auth
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,