Add clients page

This commit is contained in:
Emii Tatsuo 2020-11-27 19:50:01 -05:00
parent fa0d031ee8
commit 49e62a2300
Signed by: Emi
GPG Key ID: 68FAB2E2E6DFC98B
2 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1,32 @@
# Client-cert Compatible Gemini Clients
The following is an (incomplete) list of clients known to support client certicates. You will need to use one of these (or another client-cert compatible client) in order to log in.
## Amfora (TUI)
Amfora supports client certs, although they currently need to be manually linked. Instructions for how to do this can be found on Amfora's GitHub
=> https://github.com/makeworld-the-better-one/amfora#client-certificates Instructions
=> https://github.com/makeworld-the-better-one/amfora.git Website
## Kristal (GUI)
Kristal supports certificates out of the box! All you need to do is click on a link requesting a client certificate, and Kristall will prompt you to create one. Remember to set an account password if you're using ephemeral certificates though, otherwise you won't be able to log back in when they expire!
=> https://github.com/MasterQ32/kristall Website
## AV-98 (TUI)
AV-98 (The OG gemini client) will automatically generate a client certificate for you when you click on a link that requires one.
=> https://tildegit.org/solderpunk/AV-98 Website
## Gemini for iOS (Mobile)
=> https://github.com/pitr/gemini-ios Website
## Others?
If you know of more clients, please feel free to add them to this list by opening a PR or an issue on the kochab (Gemini Server SDK) GitHub!
=> https://github.com/Alch-Emi/kochab/issues/new New Issue

View File

@ -96,10 +96,13 @@ impl<A: ToSocketAddrs> UserManagementRoutes for crate::Server<A> {
///
/// See [`UserManagementRoutes::add_um_routes()`]
fn add_um_routes<UserData: Serialize + DeserializeOwned + Default + 'static>(self) -> Self {
let clients_page = Response::success_gemini(include_str!("pages/clients.gmi"));
#[allow(unused_mut)]
let mut modified_self = self.add_route("/account", handle_base::<UserData>)
.add_route("/account/askcert", handle_ask_cert::<UserData>)
.add_route("/account/register", handle_register::<UserData>);
.add_route("/account/register", handle_register::<UserData>)
.add_route("/account/clients", clients_page);
#[cfg(feature = "user_management_advanced")] {
modified_self = modified_self