Add docs for add_um_routes
This commit is contained in:
parent
0756dd7394
commit
916ac1009c
|
@ -9,11 +9,30 @@ use crate::user_management::{User, RegisteredUser, UserManagerError};
|
|||
const UNAUTH: &str = include_str!("pages/unauth.gmi");
|
||||
const NSI: &str = include_str!("pages/nsi.gmi");
|
||||
|
||||
/// Import this trait to use [`add_um_routes()`](Self::add_um_routes())
|
||||
pub trait UserManagementRoutes: private::Sealed {
|
||||
/// Add pre-configured routes to the serve to handle authentication
|
||||
///
|
||||
/// Specifically, the following routes are added:
|
||||
/// * `/account`, the main settings & login page
|
||||
/// * `/account/askcert`, a page which always prompts for a certificate
|
||||
/// * `/account/register`, for users to register a new account
|
||||
/// * `/account/login`, for users to link their certificate to an existing account
|
||||
/// * `/account/password`, to change the user's password
|
||||
///
|
||||
/// If this method is used, no more routes should be added under `/account`. If you
|
||||
/// would like to direct a user to login from your application, you should send them
|
||||
/// to `/account`, which will start the login/registration flow.
|
||||
///
|
||||
/// The `redir` argument allows you to specify the point that users will be directed
|
||||
/// to return to once their account has been created.
|
||||
fn add_um_routes<UserData: Serialize + DeserializeOwned + Default + 'static>(self, redir: &'static str) -> Self;
|
||||
}
|
||||
|
||||
impl<A: ToSocketAddrs> UserManagementRoutes for crate::Builder<A> {
|
||||
/// Add pre-configured routes to the serve to handle authentication
|
||||
///
|
||||
/// See [`UserManagementRoutes`]
|
||||
fn add_um_routes<UserData: Serialize + DeserializeOwned + Default + 'static>(self, redir: &'static str) -> Self {
|
||||
self.add_route("/account", move|r|handle_base::<UserData>(r, redir))
|
||||
.add_route("/account/askcert", move|r|handle_ask_cert::<UserData>(r, redir))
|
||||
|
|
Loading…
Reference in a new issue