Skip to main content

DeviceLoginFlow

Struct DeviceLoginFlow 

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

An in-flight muse login OAuth device-code flow.

Plain stdout, no pseudo-terminal: the CLI prints the verification URL and code, then blocks polling for browser approval. Dropping the flow cancels the login (the child is killed).

Implementations§

Source§

impl DeviceLoginFlow

Source

pub async fn start() -> Result<Self>

Spawn muse login from PATH.

Source

pub async fn start_with_binary(binary: &str) -> Result<Self>

start with a specific CLI binary.

Source

pub async fn device_code(&mut self, timeout: Duration) -> Result<DeviceCode>

Read output until the verification URL and code are both seen.

Show them to your user; the flow keeps polling in the background until wait_approved resolves.

Source

pub async fn wait_approved(self, timeout: Duration) -> Result<()>

Wait for the user to approve in the browser: resolves when the CLI exits successfully (credential saved) or errors on failure/timeout.

Source

pub async fn cancel(self) -> Result<()>

Cancel the login.

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