add registration token validity endpoint as per matrix 1.2
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
06bec40591
commit
cb73ae3732
2 changed files with 23 additions and 1 deletions
|
@ -4,7 +4,7 @@ use register::RegistrationKind;
|
||||||
use ruma::{
|
use ruma::{
|
||||||
api::client::{
|
api::client::{
|
||||||
account::{
|
account::{
|
||||||
change_password, deactivate, get_3pids, get_username_availability,
|
change_password, check_registration_token_validity, deactivate, get_3pids, get_username_availability,
|
||||||
register::{self, LoginType},
|
register::{self, LoginType},
|
||||||
request_3pid_management_token_via_email, request_3pid_management_token_via_msisdn, whoami,
|
request_3pid_management_token_via_email, request_3pid_management_token_via_msisdn, whoami,
|
||||||
ThirdPartyIdRemovalStatus,
|
ThirdPartyIdRemovalStatus,
|
||||||
|
@ -594,3 +594,24 @@ pub(crate) async fn request_3pid_management_token_via_msisdn_route(
|
||||||
"Third party identifier is not allowed",
|
"Third party identifier is not allowed",
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// # `GET /_matrix/client/v1/register/m.login.registration_token/validity`
|
||||||
|
///
|
||||||
|
/// Checks if the provided registration token is valid at the time of checking
|
||||||
|
///
|
||||||
|
/// Currently does not have any ratelimiting, and this isn't very practical as
|
||||||
|
/// there is only one registration token allowed.
|
||||||
|
pub(crate) async fn check_registration_token_validity(
|
||||||
|
body: Ruma<check_registration_token_validity::v1::Request>,
|
||||||
|
) -> Result<check_registration_token_validity::v1::Response> {
|
||||||
|
let Some(reg_token) = services().globals.config.registration_token.clone() else {
|
||||||
|
return Err(Error::BadRequest(
|
||||||
|
ErrorKind::forbidden(),
|
||||||
|
"Server does not allow token registration.",
|
||||||
|
));
|
||||||
|
};
|
||||||
|
|
||||||
|
Ok(check_registration_token_validity::v1::Response {
|
||||||
|
valid: reg_token == body.token,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ pub fn build(router: Router, server: &Server) -> Router {
|
||||||
.ruma_route(client_server::third_party_route)
|
.ruma_route(client_server::third_party_route)
|
||||||
.ruma_route(client_server::request_3pid_management_token_via_email_route)
|
.ruma_route(client_server::request_3pid_management_token_via_email_route)
|
||||||
.ruma_route(client_server::request_3pid_management_token_via_msisdn_route)
|
.ruma_route(client_server::request_3pid_management_token_via_msisdn_route)
|
||||||
|
.ruma_route(client_server::check_registration_token_validity)
|
||||||
.ruma_route(client_server::get_capabilities_route)
|
.ruma_route(client_server::get_capabilities_route)
|
||||||
.ruma_route(client_server::get_pushrules_all_route)
|
.ruma_route(client_server::get_pushrules_all_route)
|
||||||
.ruma_route(client_server::set_pushrule_route)
|
.ruma_route(client_server::set_pushrule_route)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue