Can save Matrix session after authentication

This commit is contained in:
2025-11-05 22:53:55 +01:00
parent 1eaec9d319
commit 1438e2de0e
6 changed files with 124 additions and 18 deletions

View File

@@ -2,7 +2,6 @@ use crate::controllers::HttpResult;
use crate::extractors::matrix_client_extractor::MatrixClientExtractor;
use crate::matrix_connection::matrix_client::FinishMatrixAuth;
use actix_web::HttpResponse;
use anyhow::Context;
#[derive(serde::Serialize)]
struct StartAuthResponse {
@@ -17,10 +16,15 @@ pub async fn start_auth(client: MatrixClientExtractor) -> HttpResult {
/// Finish user authentication on Matrix server
pub async fn finish_auth(client: MatrixClientExtractor) -> HttpResult {
client
match client
.client
.finish_login(client.auth.decode_json_body::<FinishMatrixAuth>()?)
.await
.context("Failed to finalize Matrix authentication!")?;
Ok(HttpResponse::Accepted().finish())
{
Ok(_) => Ok(HttpResponse::Accepted().finish()),
Err(e) => {
log::error!("Failed to finish Matrix authentication: {e}");
Err(e.into())
}
}
}