1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Add logout endpoint for rc_society; close #140

This commit is contained in:
NG (Graham)
2026-07-09 17:25:02 -04:00
parent 8c3b74cba3
commit 60bad02c87
10 changed files with 31 additions and 7 deletions

View File

@@ -86,6 +86,7 @@ async fn main() -> std::io::Result<()> {
.service(version_info)
.service(web::login::form_submit)
.service(web::login::form_load)
.service(web::logout::get)
.service(web::favicon::favicon_standard)
.service(web::dashboard::get)
.service(web::dashboard::post) // for login redirect

View File

@@ -0,0 +1,12 @@
use actix_web::{get, web::Redirect, Responder, HttpRequest};
use actix_identity::Identity;
#[get("/logout")]
pub async fn get(user_opt: Option<Identity>, req: HttpRequest) -> Result<impl Responder, actix_web::error::Error> {
if let Some(user) = user_opt {
user.logout();
}
Ok(Redirect::to("/")
.respond_to(&req)
.map_into_boxed_body())
}

View File

@@ -4,6 +4,7 @@ pub mod favicon;
pub mod index;
pub mod garage;
pub mod user_federation;
pub mod logout;
use serde::Serialize;
use actix_web::{web::{Html, Redirect}, Responder};