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:
@@ -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
|
||||
|
||||
12
rc_society/src/web/logout.rs
Normal file
12
rc_society/src/web/logout.rs
Normal 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())
|
||||
}
|
||||
@@ -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};
|
||||
|
||||
Reference in New Issue
Block a user