Struct AuthConfig

Source
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 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 T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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.

Source§

impl<T> Instrument for T

Source§

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

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

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 T
where 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,