Start login mastodon form

O01eg
May 5, 2023, 1:49 PM
BCMU6UYKFTBIYNJAZVGIQ45BXLTCL7GLW4O4HDMUTCRRWYH2ZQKAC

Dependencies

  • [2] NY766BOQ Accept form to add player
  • [3] MCF5COUL Add personal page
  • [4] FUCFD4UV Add log in and log out support
  • [5] WLWTNO4Y Create form to request game password change link
  • [6] S6MX4MFO Add handlers for accepting and removing cookies
  • [7] CMA5SKJ3 Copy turns Atom generator
  • [8] EVP2FSBH Split index page
  • [9] RPAQDOZ4 Move atom pages to separate module
  • [10] OJO4B4QO Add login form and empty handler
  • [11] HDHALX3U Add Cookies Policy page
  • [12] WW3KRXX6 Add page for reset game password
  • [13] HZDCKIXQ Use constants for templates
  • [*] 4MZ4VIR7 Initial commit

Change contents

  • edit in src/pages/log_in.rs at line 19
    [3.3015]
    [3.3015]
    csrf: Uuid,
    }
    #[derive(serde_derive::Deserialize)]
    pub struct FormDataMastodon {
    login: String,
  • edit in src/pages/log_in.rs at line 142
    [3.6027]
    [3.6027]
    }
    pub async fn post_log_in_mastodon(
    form: web::Form<FormDataMastodon>,
    data: web::Data<WebData<'_>>,
    ) -> HttpResponse {
    let cached_data = {
    let mut cache = data.cache_login.lock().await;
    cache.remove(&form.csrf)
    };
    if cached_data.is_none() {
    log::warn!("Unknown data for CSRF: {}", form.csrf);
    return HttpResponse::BadRequest().body("Incorrect");
    }
    HttpResponse::Found()
    .append_header((header::LOCATION, "index.html"))
    .finish()
  • replacement in src/main.rs at line 16
    [3.423][3.6738:6784]()
    use pages::log_in::{get_log_in, post_log_in};
    [3.423]
    [3.6784]
    use pages::log_in::{get_log_in, post_log_in, post_log_in_mastodon};
  • edit in src/main.rs at line 286
    [3.7235]
    [2.1154]
    .route("/login-mastodon.do", web::post().to(post_log_in_mastodon))