Use a clear phrase instead of the user's password

This commit is contained in:
Emi Tatsuo 2020-12-15 19:23:34 -05:00
parent bfaa81d9d0
commit 2fbaf39c0c
Signed by: Emi
GPG Key ID: 68FAB2E2E6DFC98B
1 changed files with 6 additions and 4 deletions

View File

@ -285,19 +285,21 @@ async fn handle_delete<UserData: Serialize + DeserializeOwned + Sync + Send>(
request: Request, request: Request,
user: RegisteredUser<UserData>, user: RegisteredUser<UserData>,
) -> Result<Response> { ) -> Result<Response> {
const DELETE_PHRASE: &str = "I would like to delete my account";
Ok(match request.input() { Ok(match request.input() {
Some(username) if user.username() == username => { Some(DELETE_PHRASE) => {
user.delete()?; user.delete()?;
Response::success_gemini(include_str!("pages/deleted.gmi")) Response::success_gemini(include_str!("pages/deleted.gmi"))
}, },
Some(_) => { Some(_) => {
Response::bad_request("That username did not match. Your account has not been deleted.") Response::bad_request("Phrase did not match. Your account has not been deleted.")
}, },
None => { None => {
Response::input( Response::input(
format!( format!(
"Are you sure you'd like to delete your account? Please enter your username, \"{}\", to continue", "Are you sure you'd like to delete your account? Please type \"{}\" to continue.",
user.username(), DELETE_PHRASE,
) )
) )
}, },