Skip to content

Commit 97a8ca7

Browse files
committed
Keeping the right tokens for every websocket connection
1 parent 9246a21 commit 97a8ca7

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

pyhilo/api.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,9 @@ async def _async_handle_on_backoff(self, _: dict[str, Any]) -> None:
311311
LOG.info(
312312
"401 detected on websocket, refreshing websocket token. Old url: {self.ws_url} Old Token: {self.ws_token}"
313313
)
314+
LOG.info(f"401 detected on {err.request_info.url}")
314315
async with self._backoff_refresh_lock_ws:
315-
(self.ws_url, self.ws_token) = await self.post_devicehub_negociate()
316+
await self.refresh_ws_token()
316317
await self.get_websocket_params()
317318
return
318319

@@ -362,7 +363,7 @@ async def _async_post_init(self) -> None:
362363
LOG.debug("Websocket postinit")
363364
await self._get_fid()
364365
await self._get_device_token()
365-
await self.refresh_ws_token()
366+
# await self.refresh_ws_token()
366367
# self.websocket = WebsocketClient(self)
367368

368369
# Initialize WebsocketManager ic-dev21
@@ -376,8 +377,9 @@ async def _async_post_init(self) -> None:
376377
self.websocket2 = WebsocketClient(self, self.websocket_manager.challengehub)
377378

378379
async def refresh_ws_token(self) -> None:
379-
(self.ws_url, self.ws_token) = await self.post_devicehub_negociate()
380-
await self.get_websocket_params()
380+
"""Refresh the websocket token."""
381+
await self.websocket_manager.refresh_token(self.websocket_manager.devicehub)
382+
await self.websocket_manager.refresh_token(self.websocket_manager.challengehub)
381383

382384
async def post_devicehub_negociate(self) -> tuple[str, str]:
383385
LOG.debug("Getting websocket url")

pyhilo/websocket.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ async def initialize_websockets(self) -> None:
424424
# ic-dev21 get token from device hub
425425
await self.refresh_token(self.devicehub, get_new_token=True)
426426
# ic-dev21 reuse it for challenge hub
427-
await self.refresh_token(self.challengehub, get_new_token=False)
427+
await self.refresh_token(self.challengehub, get_new_token=True)
428428

429429
async def refresh_token(
430430
self, config: WebsocketConfig, get_new_token: bool = True
@@ -459,11 +459,8 @@ async def _negotiate(self, config: WebsocketConfig) -> Tuple[str, str]:
459459

460460
resp = await self.async_request("post", url)
461461
ws_url = resp.get("url")
462-
ws_token = (
463-
resp.get("accessToken")
464-
if self._shared_token is None
465-
else self._shared_token
466-
)
462+
ws_token = resp.get("accessToken")
463+
467464

468465
# Save state
469466
state_key = (

0 commit comments

Comments
 (0)