1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//! This module provides an anonymous authenticator use crate::auth::*; use async_trait::async_trait; /// /// [`Authenticator`] implementation that simply allows everyone. /// /// # Example /// /// ```rust /// use libunftp::auth::{Authenticator, AnonymousAuthenticator, DefaultUser}; /// use futures::future::Future; /// use async_trait::async_trait; /// /// let my_auth = AnonymousAuthenticator{}; /// assert_eq!(futures::executor::block_on(my_auth.authenticate("Finn", "I ❤️ PB")).unwrap(), DefaultUser{}); /// ``` /// [`Authenticator`]: ../spi/trait.Authenticator.html /// #[derive(Debug)] pub struct AnonymousAuthenticator; #[async_trait] impl Authenticator<DefaultUser> for AnonymousAuthenticator { #[allow(clippy::type_complexity)] #[tracing_attributes::instrument] async fn authenticate(&self, _username: &str, _password: &str) -> Result<DefaultUser, AuthenticationError> { Ok(DefaultUser {}) } }