OauthClientMethods

Struct OauthClientMethods 

Source
pub struct OauthClientMethods<'a, C>
where C: 'a,
{ /* private fields */ }
Expand description

A builder providing access to all methods supported on oauthClient resources. It is not used directly, but through the Firebaseappcheck hub.

§Example

Instantiate a resource builder

extern crate hyper;
extern crate hyper_rustls;
extern crate google_firebaseappcheck1_beta as firebaseappcheck1_beta;

use firebaseappcheck1_beta::{Firebaseappcheck, FieldMask, hyper_rustls, hyper_util, yup_oauth2};

let secret: yup_oauth2::ApplicationSecret = Default::default();
let connector = hyper_rustls::HttpsConnectorBuilder::new()
    .with_native_roots()
    .unwrap()
    .https_only()
    .enable_http2()
    .build();

let executor = hyper_util::rt::TokioExecutor::new();
let auth = yup_oauth2::InstalledFlowAuthenticator::with_client(
    secret,
    yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
    yup_oauth2::client::CustomHyperClientBuilder::from(
        hyper_util::client::legacy::Client::builder(executor).build(connector),
    ),
).build().await.unwrap();

let client = hyper_util::client::legacy::Client::builder(
    hyper_util::rt::TokioExecutor::new()
)
.build(
    hyper_rustls::HttpsConnectorBuilder::new()
        .with_native_roots()
        .unwrap()
        .https_or_http()
        .enable_http2()
        .build()
);
let mut hub = Firebaseappcheck::new(client, auth);
// Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
// like `exchange_app_attest_assertion(...)`, `exchange_app_attest_attestation(...)`, `exchange_debug_token(...)` and `generate_app_attest_challenge(...)`
// to build up your call.
let rb = hub.oauth_clients();

Implementations§

Source§

impl<'a, C> OauthClientMethods<'a, C>

Source

pub fn exchange_app_attest_assertion( &self, request: GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest, app: &str, ) -> OauthClientExchangeAppAttestAssertionCall<'a, C>

Create a builder to help you perform the following task:

Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.

§Arguments
  • request - No description provided.
  • app - Required. The relative resource name of the iOS app, in the format: projects/{project_number}/apps/{app_id} If necessary, the project_number element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google’s AIP 2510 standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: oauthClients/{oauth_client_id} You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see the documentation for more information.
Source

pub fn exchange_app_attest_attestation( &self, request: GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest, app: &str, ) -> OauthClientExchangeAppAttestAttestationCall<'a, C>

Create a builder to help you perform the following task:

Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method’s response object will also contain an AppCheckToken (if the verification is successful).

§Arguments
  • request - No description provided.
  • app - Required. The relative resource name of the iOS app, in the format: projects/{project_number}/apps/{app_id} If necessary, the project_number element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google’s AIP 2510 standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: oauthClients/{oauth_client_id} You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see the documentation for more information.
Source

pub fn exchange_debug_token( &self, request: GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest, app: &str, ) -> OauthClientExchangeDebugTokenCall<'a, C>

Create a builder to help you perform the following task:

Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.

§Arguments
  • request - No description provided.
  • app - Required. The relative resource name of the app, in the format: projects/{project_number}/apps/{app_id} If necessary, the project_number element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google’s AIP 2510 standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: oauthClients/{oauth_client_id} You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see the documentation for more information.
Source

pub fn generate_app_attest_challenge( &self, request: GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest, app: &str, ) -> OauthClientGenerateAppAttestChallengeCall<'a, C>

Create a builder to help you perform the following task:

Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.

§Arguments
  • request - No description provided.
  • app - Required. The relative resource name of the iOS app, in the format: projects/{project_number}/apps/{app_id} If necessary, the project_number element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google’s AIP 2510 standard. Alternatively, if this method is being called for an OAuth client protected by App Check, this field can also be in the format: oauthClients/{oauth_client_id} You can view the OAuth client ID for your OAuth clients in the Google Cloud console. Note that only iOS OAuth clients are supported at this time, and they must be linked to corresponding iOS Firebase apps. Please see the documentation for more information.

Trait Implementations§

Auto Trait Implementations§

§

impl<'a, C> Freeze for OauthClientMethods<'a, C>

§

impl<'a, C> !RefUnwindSafe for OauthClientMethods<'a, C>

§

impl<'a, C> Send for OauthClientMethods<'a, C>
where C: Sync,

§

impl<'a, C> Sync for OauthClientMethods<'a, C>
where C: Sync,

§

impl<'a, C> Unpin for OauthClientMethods<'a, C>

§

impl<'a, C> !UnwindSafe for OauthClientMethods<'a, C>

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, 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