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
RefreshableAccessToken(RefreshableAccessToken)

Use Bearer authentication. This will use the provided refresh token to refresh the access token when/if it expires.

Tuple Fields of RefreshableAccessToken

0: RefreshableAccessToken
ClientCredentials(ClientCredentials)

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.

Tuple Fields of ClientCredentials

0: ClientCredentials

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.

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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