You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-11-20 12:02:22 +03:00
Implement MSC2965 action parameter (#1673)
* redirect session_end action to session detail * fix react key warning in oauth session detail * move Route type to /routing * test getRouteActionRedirection * comment * frontend: Split the routing-related stuff in multiple files under routing/ * frontend: Cover all the redirections defined by MSC2965 * frontend: fix test * Make the backend keep query parameters through login to the /account/ interface * Fix frontend tests & clippy lints --------- Co-authored-by: Quentin Gliech <quenting@element.io>
This commit is contained in:
@@ -30,11 +30,11 @@
|
||||
clippy::let_with_type_underscore,
|
||||
)]
|
||||
|
||||
use std::{convert::Infallible, time::Duration};
|
||||
use std::{borrow::Cow, convert::Infallible, time::Duration};
|
||||
|
||||
use axum::{
|
||||
body::{Bytes, HttpBody},
|
||||
extract::{FromRef, FromRequestParts, OriginalUri, State},
|
||||
extract::{FromRef, FromRequestParts, OriginalUri, RawQuery, State},
|
||||
http::Method,
|
||||
response::{Html, IntoResponse},
|
||||
routing::{get, on, post, MethodFilter},
|
||||
@@ -265,6 +265,7 @@ where
|
||||
)
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_lines)]
|
||||
pub fn human_router<S, B>(templates: Templates) -> Router<S, B>
|
||||
where
|
||||
B: HttpBody + Send + 'static,
|
||||
@@ -286,7 +287,19 @@ where
|
||||
{
|
||||
Router::new()
|
||||
// XXX: hard-coded redirect from /account to /account/
|
||||
.route("/account", get(|| async { mas_router::Account.go() }))
|
||||
.route(
|
||||
"/account",
|
||||
get(|RawQuery(query): RawQuery| async {
|
||||
let route = mas_router::Account::route();
|
||||
let destination = if let Some(query) = query {
|
||||
Cow::Owned(format!("{route}?{query}"))
|
||||
} else {
|
||||
Cow::Borrowed(route)
|
||||
};
|
||||
|
||||
axum::response::Redirect::to(&destination)
|
||||
}),
|
||||
)
|
||||
.route(mas_router::Account::route(), get(self::views::app::get))
|
||||
.route(
|
||||
mas_router::AccountWildcard::route(),
|
||||
|
||||
Reference in New Issue
Block a user