diff --git a/xbox/webapi/authentication/models.py b/xbox/webapi/authentication/models.py index 45578376..a60df88d 100644 --- a/xbox/webapi/authentication/models.py +++ b/xbox/webapi/authentication/models.py @@ -125,6 +125,7 @@ class SisuAuthorizationResponse(PascalCaseModel): authorization_token: XSTSResponse web_page: str sandbox: str + refresh_token: str use_modern_gamertag: Optional[bool] = None diff --git a/xbox/webapi/authentication/xal.py b/xbox/webapi/authentication/xal.py index ffb05c22..0245681d 100644 --- a/xbox/webapi/authentication/xal.py +++ b/xbox/webapi/authentication/xal.py @@ -231,8 +231,8 @@ async def request_sisu_authentication( resp.headers["X-SessionId"], ) - async def do_sisu_authorization( - self, sisu_session_id: str, access_token_jwt: str, device_token_jwt: str + async def do_sisu_authorization( + self, sisu_session_id: str, access_token_jwt: str, device_token_jwt: str, refresh_sisu:str ) -> SisuAuthorizationResponse: """ Sisu authorization @@ -250,6 +250,7 @@ async def do_sisu_authorization( "SiteName": "user.auth.xboxlive.com", "SessionId": sisu_session_id, "ProofKey": self.session.request_signer.proof_field, + "refresh_token": refresh_sisu, } resp = await self.session.send_signed( @@ -257,7 +258,7 @@ async def do_sisu_authorization( ) resp.raise_for_status() return SisuAuthorizationResponse(**resp.json()) - + async def xsts_authorization( self, device_token_jwt: str,