Struct CliOAuth

Source
pub struct CliOAuth { /* private fields */ }
Expand description

The CLI OAuth helper.

Implementations§

Source§

impl CliOAuth

Source

pub fn builder() -> CliOAuthBuilder

Constructs a new builder struct for configuration.

Source

pub fn redirect_url(&self) -> RedirectUrl

Generates the redirect URL that will sent in the authorization URL to the identity provider.

Pass the result of this method to oauth2::Client::set_redirect_uri while building the client.

Source

pub async fn authorize<TE, TR, TT, TIR, RT, TRE>( &mut self, oauth_client: &Client<TE, TR, TT, TIR, RT, TRE>, ) -> Result<(), ServerError>
where TE: ErrorResponse + 'static, TR: TokenResponse<TT>, TT: TokenType, TIR: TokenIntrospectionResponse<TT>, RT: RevocableToken, TRE: ErrorResponse + 'static,

Initiates the Authorization Code flow.

The PKCE challenge and verifier are generated. The challenge is used in the authorization URL, and the verifier is saved for the validation step.

The user’s browser is then opened to the authorization URL, and the authorization code (code) and CSRF token (state) are extracted from the redirect request and recorded . These values will also be used in the validation step, and then returned to the caller for the token exchange.

Source

pub fn validate(&mut self) -> Result<AuthContext, AuthError>

Validates the authorization code and CSRF token (state).

If validation is successful, then the code and PKCE verifier are returned to the caller in order to build the exchange code request.

This method must be called after CliOAuth::authorize completes successfully.

Trait Implementations§

Source§

impl Debug for CliOAuth

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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,