refactoring

This commit is contained in:
Devaev Maxim 2020-05-28 08:18:03 +03:00
parent c1602eec06
commit fbdfb009a1
2 changed files with 12 additions and 10 deletions

View File

@ -28,11 +28,13 @@ class HttpError(Exception):
class UnauthorizedError(HttpError): class UnauthorizedError(HttpError):
pass def __init__(self) -> None:
super().__init__("Unauthorized")
class ForbiddenError(HttpError): class ForbiddenError(HttpError):
pass def __init__(self) -> None:
super().__init__("Forbidden")
# ===== # =====

View File

@ -177,20 +177,20 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
passwd=valid_passwd(credentials.get("passwd", "")), passwd=valid_passwd(credentials.get("passwd", "")),
) )
if token: if token:
return make_json_response({}, set_cookies={_COOKIE_AUTH_TOKEN: token}) return make_json_response(set_cookies={_COOKIE_AUTH_TOKEN: token})
raise ForbiddenError("Forbidden") raise ForbiddenError()
return make_json_response({}) return make_json_response()
@exposed_http("POST", "/auth/logout") @exposed_http("POST", "/auth/logout")
async def __auth_logout_handler(self, request: aiohttp.web.Request) -> aiohttp.web.Response: async def __auth_logout_handler(self, request: aiohttp.web.Request) -> aiohttp.web.Response:
if self.__auth_manager.is_auth_enabled(): if self.__auth_manager.is_auth_enabled():
token = valid_auth_token(request.cookies.get(_COOKIE_AUTH_TOKEN, "")) token = valid_auth_token(request.cookies.get(_COOKIE_AUTH_TOKEN, ""))
self.__auth_manager.logout(token) self.__auth_manager.logout(token)
return make_json_response({}) return make_json_response()
@exposed_http("GET", "/auth/check") @exposed_http("GET", "/auth/check")
async def __auth_check_handler(self, _: aiohttp.web.Request) -> aiohttp.web.Response: async def __auth_check_handler(self, _: aiohttp.web.Request) -> aiohttp.web.Response:
return make_json_response({}) return make_json_response()
# ===== SYSTEM # ===== SYSTEM
@ -316,17 +316,17 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
user = valid_user(user) user = valid_user(user)
set_request_auth_info(request, f"{user} (xhdr)") set_request_auth_info(request, f"{user} (xhdr)")
if not (await self.__auth_manager.authorize(user, valid_passwd(passwd))): if not (await self.__auth_manager.authorize(user, valid_passwd(passwd))):
raise ForbiddenError("Forbidden") raise ForbiddenError()
elif token: elif token:
user = self.__auth_manager.check(valid_auth_token(token)) user = self.__auth_manager.check(valid_auth_token(token))
if not user: if not user:
set_request_auth_info(request, "- (token)") set_request_auth_info(request, "- (token)")
raise ForbiddenError("Forbidden") raise ForbiddenError()
set_request_auth_info(request, f"{user} (token)") set_request_auth_info(request, f"{user} (token)")
else: else:
raise UnauthorizedError("Unauthorized") raise UnauthorizedError()
return (await exposed.handler(request)) return (await exposed.handler(request))