pub struct AuthConfig { /* private fields */ }
Expand description

This struct contains all necessary information to request an authentication token from google. This structure is intended to be reused by the client for several token generation requests.

Implementations§

source§

impl AuthConfig

source

pub fn build( service_account_json_str: &str, usage: &Usage ) -> Result<Self, TokenGenerationError>

This function generates an auth configuration with the provided information. A this config is used to request auth_tokens. This function generates only tokens with the RS256 encryption like the google jwt authentication service does.

Params

service_account_json_str: String
Each google service account has a json file that can be downloaded in the google console during the key generation. This json file cannot be downloaded twice! A new key must be generated, if the file gets lost! The content of this file needs to be provided by this param as string.

usage: String
Each google api request requires individual permissions to be executed. Beside the service account permission a usage or a scope should be provided. See here for more information: Google Scopes.

lifetime: u16
An auth_token has a limited lifetime to am maximum of 3600 seconds. This value should be between 30 and 3600 Seconds. Inputs out of this ranged will not be accepted.

Errors

See Error for a more detailed answer.

Returns

The above mentioned jwt as String.

source

pub async fn generate_auth_token( &self, lifetime: i64 ) -> Result<String, TokenGenerationError>

With the provided jwt token, an authentication token (short: auth_token) will be requested from google. This auth_token will be returned and is used for requesting several google api services.

Errors

See Error for a more detailed answer.

Returns

The above mentioned auth_token as String.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more