feat: Удалена HTTP авторизация
This commit is contained in:
@@ -24,7 +24,6 @@ class Server:
|
|||||||
self._server_token: str = ''
|
self._server_token: str = ''
|
||||||
self._server_username = server_username
|
self._server_username = server_username
|
||||||
self._server_password = server_password
|
self._server_password = server_password
|
||||||
self._client_password = client_password
|
|
||||||
|
|
||||||
self._logger = logging.getLogger(__name__)
|
self._logger = logging.getLogger(__name__)
|
||||||
self._logger.addHandler(logging.NullHandler())
|
self._logger.addHandler(logging.NullHandler())
|
||||||
@@ -76,36 +75,11 @@ class Server:
|
|||||||
_ = pyg2o_main
|
_ = pyg2o_main
|
||||||
_ = pyg2o_client
|
_ = pyg2o_client
|
||||||
|
|
||||||
async def _verify_token(self, credentials: HTTPBasicCredentials):
|
|
||||||
username = credentials.username
|
|
||||||
password = credentials.password
|
|
||||||
|
|
||||||
if username == self._server_username and password == self._server_password:
|
|
||||||
token = self._create_server_token()
|
|
||||||
if token is None:
|
|
||||||
raise HTTPException(status_code=403)
|
|
||||||
return token
|
|
||||||
elif password == self._client_password:
|
|
||||||
...
|
|
||||||
|
|
||||||
return None
|
|
||||||
|
|
||||||
def _create_server_token(self) -> str | None:
|
|
||||||
self._server_token = str(uuid4())
|
|
||||||
return self._server_token
|
|
||||||
|
|
||||||
async def _handle_auth_connection(self, credentials: HTTPBasicCredentials):
|
|
||||||
response: str | None = await self._verify_token(credentials)
|
|
||||||
if response is None:
|
|
||||||
raise HTTPException(status_code=401)
|
|
||||||
|
|
||||||
return {'token': response}
|
|
||||||
|
|
||||||
async def _handle_server_connection(self, websocket: WebSocket):
|
async def _handle_server_connection(self, websocket: WebSocket):
|
||||||
headers = websocket.headers
|
headers = websocket.headers
|
||||||
uuid = headers.get('Authorization')
|
password = headers.get('Authorization')
|
||||||
|
|
||||||
if uuid != self._server_token:
|
if password != self._server_password:
|
||||||
# Закрытие до принятия подключения выбрасывает 403 (Forbidden) код, так что не нужны доп сообщения
|
# Закрытие до принятия подключения выбрасывает 403 (Forbidden) код, так что не нужны доп сообщения
|
||||||
await websocket.close()
|
await websocket.close()
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user