Skip to content

Commit

Permalink
Update for new hOn login
Browse files Browse the repository at this point in the history
  • Loading branch information
addshore committed Jul 10, 2024
1 parent 63752e1 commit afb5b8c
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions pyhon/connection/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,23 @@ async def _introduce(self) -> str:
async with self._request.get(url) as response:
text = await response.text()
self._expires = datetime.utcnow()
login_url: List[str] = re.findall("url = '(.+?)'", text)
login_url: List[str] = re.findall("(?:url|href) ?= ?'(.+?)'", text)
if not login_url:
if "oauth/done#access_token=" in text:
self._parse_token_data(text)
raise exceptions.HonNoAuthenticationNeeded()
await self._error_logger(response)
# As of July 2024 the login page has changed, and we started getting a /NewhOnLogin based relative URL in JS to parse
if login_url[0].startswith("/NewhOnLogin"):
# Force use of the old login page to avoid having to make the new one work..
login_url[0] = f"{const.AUTH_API}/s/login{login_url[0]}"
return login_url[0]

async def _manual_redirect(self, url: str) -> str:
async with self._request.get(url, allow_redirects=False) as response:
if not (new_location := response.headers.get("Location", "")):
await self._error_logger(response)
new_location = response.headers.get("Location", "")
if not new_location:
return url
return new_location

async def _handle_redirects(self, login_url: str) -> str:
Expand Down

0 comments on commit afb5b8c

Please sign in to comment.