SsoLoginBuilder

Struct SsoLoginBuilder 

Source
pub struct SsoLoginBuilder<F> { /* private fields */ }
Available on crate feature sso-login only.
Expand description

Builder type used to configure optional settings for logging in via SSO.

Created with MatrixAuth::login_sso. Finalized with .send().

Implementations§

Source§

impl<F, Fut> SsoLoginBuilder<F>
where F: FnOnce(String) -> Fut + Send, Fut: Future<Output = Result<()>> + Send,

Source

pub fn device_id(self, value: &str) -> Self

Set the device ID.

The device ID is a unique ID that will be associated with this session. If not set, the homeserver will create one. Can be an existing device ID from a previous login call. Note that this should be done only if the client also holds the corresponding encryption keys.

Source

pub fn initial_device_display_name(self, value: &str) -> Self

Set the initial device display name.

The device display name is the public name that will be associated with the device ID. Only necessary the first time you login with this device ID. It can be changed later.

Source

pub fn server_builder(self, builder: LocalServerBuilder) -> Self

Customize the settings used to construct the server where the end-user will be redirected.

If this is not set, the default settings of LocalServerBuilder will be used.

Source

pub fn identity_provider_id(self, value: &str) -> Self

Set the ID of the identity provider to log in with.

Source

pub fn request_refresh_token(self) -> Self

Advertise support for refreshing access tokens.

By default, the Client won’t handle refreshing access tokens, so Client::refresh_access_token() or MatrixAuth::refresh_access_token() needs to be called manually.

This behavior can be changed by calling handle_refresh_tokens() when building the Client.

Note that refreshing access tokens might not be supported or might be enforced by the homeserver regardless of this setting.

Source

pub async fn send(self) -> Result<Response>

Send the login request.

Instead of calling this function and .awaiting its return value, you can also .await the SsoLoginBuilder directly.

§Panics

Panics if a session was already restored or logged in.

Trait Implementations§

Source§

impl<F, Fut> IntoFuture for SsoLoginBuilder<F>
where F: FnOnce(String) -> Fut + Send + 'static, Fut: Future<Output = Result<()>> + Send + 'static,

Source§

type Output = Result<Response, Error>

The output that the future will produce on completion.
Source§

type IntoFuture = Pin<Box<dyn Future<Output = <SsoLoginBuilder<F> as IntoFuture>::Output> + Send>>

Which kind of future are we turning this into?
Source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more

Auto Trait Implementations§

§

impl<F> Freeze for SsoLoginBuilder<F>
where F: Freeze,

§

impl<F> !RefUnwindSafe for SsoLoginBuilder<F>

§

impl<F> Send for SsoLoginBuilder<F>
where F: Send,

§

impl<F> Sync for SsoLoginBuilder<F>
where F: Sync,

§

impl<F> Unpin for SsoLoginBuilder<F>
where F: Unpin,

§

impl<F> !UnwindSafe for SsoLoginBuilder<F>

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, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

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

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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> 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> Any for T
where T: Any,

Source§

impl<T> JsonCastable<CanonicalJsonValue> for T

Source§

impl<T> JsonCastable<Value> for T

Source§

impl<T> SendOutsideWasm for T
where T: Send,

Source§

impl<T> SyncOutsideWasm for T
where T: Sync,