Added requests interceptors support. IP addresses can now be banned.

This commit is contained in:
Daniele Maglie 2024-01-19 15:25:53 +01:00
parent f3ed518b65
commit 183fa3e27a
14 changed files with 196 additions and 208 deletions

View file

@ -40,7 +40,8 @@ class AuthenticationLoginHandler(BaseHandler):
None,
self.process,
self.request_data.get('email'),
self.request_data.get('password')
self.request_data.get('password'),
self.request.remote_ip
)
self.success(data = {
@ -51,13 +52,14 @@ class AuthenticationLoginHandler(BaseHandler):
except ApplicationException as e:
self.error(status_code = 400, error_code = e.code, message = e.message)
def process(self, email: str, password: str) -> tuple:
def process(self, email: str, password: str, ip_address: str) -> tuple:
authentication_authenticate_service = AuthenticationAuthenticateService()
# try to authenticate
payload = authentication_authenticate_service.execute(
email = email,
password = password
password = password,
ip_address = ip_address
)
authentication_generate_access_token_service = AuthenticationGenerateAccessTokenService()

View file

@ -36,7 +36,7 @@ class AuthenticationRefreshHandler(BaseHandler):
return
if not self.request_data.get('refresh_token'):
return self.error(status_code = 403, error_code = ErrorCode.MISSING_REFRESH_TOKEN, message = ErrorMessage.MISSING_REFRESH_TOKEN)
return self.error(status_code = 401, error_code = ErrorCode.MISSING_REFRESH_TOKEN, message = ErrorMessage.MISSING_REFRESH_TOKEN)
refresh_token = self.request_data.get('refresh_token')