fix: Correctly return M_USER_LOCKED during login
This commit is contained in:
parent
37574ef5cc
commit
88a35e139d
1 changed files with 5 additions and 0 deletions
|
|
@ -13,6 +13,7 @@ use futures::StreamExt;
|
|||
use ruma::{
|
||||
OwnedUserId, UserId,
|
||||
api::client::{
|
||||
error::ErrorKind,
|
||||
session::{
|
||||
get_login_token,
|
||||
get_login_types::{
|
||||
|
|
@ -185,6 +186,10 @@ pub(crate) async fn handle_login(
|
|||
return Err!(Request(Unknown("User ID does not belong to this homeserver")));
|
||||
}
|
||||
|
||||
if services.users.is_locked(&user_id)? {
|
||||
return Err(Error::BadRequest(ErrorKind::UserLocked, "This account has been locked."));
|
||||
}
|
||||
|
||||
if services.users.is_login_disabled(&user_id).await {
|
||||
warn!(%user_id, "user attempted to log in with a login-disabled account");
|
||||
return Err!(Request(Forbidden("This account is not permitted to log in.")));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue