diff --git a/src/bin/kawari-login.rs b/src/bin/kawari-login.rs index 2bacd3c..dca14b8 100644 --- a/src/bin/kawari-login.rs +++ b/src/bin/kawari-login.rs @@ -128,9 +128,10 @@ struct RegisterInput { } async fn do_register( + jar: CookieJar, State(state): State, Form(input): Form, -) -> Redirect { +) -> (CookieJar, Redirect) { tracing::info!( "Registering with {:#?} and {:#?}!", input.username, @@ -146,7 +147,15 @@ async fn do_register( state.database.add_user(&username, &password); - Redirect::to("/") + // redirect to account management page + let sid = state.database.login_user(&username, &password).unwrap(); + + let cookie = Cookie::build(("cis_sessid", sid)) + .path("/") + .secure(false) + .expires(Expiration::Session) + .http_only(true); + (jar.add(cookie), Redirect::to("/account/app/svc/manage")) } #[derive(Deserialize)]