Enum glimesh::Auth [−][src]
pub enum Auth {
ClientId(String),
AccessToken(String),
RefreshableAccessToken(RefreshableAccessToken),
ClientCredentials(ClientCredentials),
}
Expand description
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.
Tuple Fields of ClientId
0: String
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.
Tuple Fields of AccessToken
0: String
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
Use Client-ID authentication. When using this method, you can only ‘read’ from the API.
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>)
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>)
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.
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.
Use Bearer authentication via the client_credentials flow, specifying the scopes for the token.
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 !UnwindSafe for Auth
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more