pub type ExternalAuthFuture<'a, T> = Pin<Box<dyn Future<Output = Result<T>> + Send + 'a>>;
pub struct ExternalAuthFuture<'a, T> { /* private fields */ }