From 1bee9092a3a6d13edef114ec164c7b2c59d196a8 Mon Sep 17 00:00:00 2001 From: STACIA <69411527+staciax@users.noreply.github.com> Date: Wed, 15 Jun 2022 05:00:57 +0700 Subject: [PATCH] ctx ssl add `minimum_version` #57 --- utils/valorant/auth.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/utils/valorant/auth.py b/utils/valorant/auth.py index e202f1d..c3323a5 100644 --- a/utils/valorant/auth.py +++ b/utils/valorant/auth.py @@ -61,12 +61,11 @@ def _extract_tokens_from_uri(URL: str) -> Optional[Tuple[str, Any]]: 'RSA+3DES', ] - class ClientSession(aiohttp.ClientSession): def __init__(self, *args, **kwargs): ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) + ctx.minimum_version = ssl.TLSVersion.TLSv1_3 ctx.set_ciphers(':'.join(FORCED_CIPHERS)) - # ctx.protocol = ssl.PROTOCOL_TLSv1 | ssl.PROTOCOL_TLSv1_1 | ssl.PROTOCOL_TLSv1_2 | ssl.PROTOCOL_TLSv1_3 super().__init__( *args, **kwargs, @@ -74,7 +73,6 @@ def __init__(self, *args, **kwargs): connector=aiohttp.TCPConnector(ssl=ctx) ) - class Auth: def __init__(self) -> None: self._headers: Dict = { @@ -321,21 +319,9 @@ async def login_with_cookie(self, cookies: Dict) -> Dict[str, Any]: cookie_payload = f'ssid={cookies};' if cookies.startswith('e') else cookies - class CookieClientSession(aiohttp.ClientSession): - def __init__(self, *args, **kwargs): - ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) - ctx.set_ciphers("DEFAULT@SECLEVEL=1") - super().__init__( - *args, - **kwargs, - connector=aiohttp.TCPConnector(ssl=ctx), - headers=MultiDict({ - "Accept-Language": "en-US,en;q=0.9", - "Accept": "application/json, text/plain, */*", - 'cookie': cookie_payload, - })) - - session = CookieClientSession() + self._headers['cookie'] = cookie_payload + + session = ClientSession() r = await session.get( "https://auth.riotgames.com/authorize" @@ -345,6 +331,7 @@ def __init__(self, *args, **kwargs): "&scope=account%20openid" "&nonce=1", allow_redirects=False, + headers=self._headers ) if r.status != 303: raise AuthenticationError(local_response.get('FAILED'))