Fixed issue when logging in with GIA SSO

This commit is contained in:
nocturn9x 2021-10-30 16:06:41 +02:00
parent 94ca75b02d
commit 9052f6595c
1 changed files with 7 additions and 4 deletions

View File

@ -22,7 +22,7 @@ from getpass import getpass
from pyppeteer import launch from pyppeteer import launch
from base64 import b64decode from base64 import b64decode
from signal import SIGINT, SIGTERM from signal import SIGINT, SIGTERM
from pyppeteer.errors import PyppeteerError from pyppeteer.errors import PyppeteerError, NetworkError
GET_ALL_LESSONS_URL = "https://logistica.univr.it/easylesson/api/leggi_insegnamenti/{}" GET_ALL_LESSONS_URL = "https://logistica.univr.it/easylesson/api/leggi_insegnamenti/{}"
@ -160,9 +160,12 @@ async def login_with_gia(
await page.type('#IDToken2', password, delay=100) await page.type('#IDToken2', password, delay=100)
logger.debug("Submitting login form") logger.debug("Submitting login form")
await page.click('[type="button"]') await page.click('[type="button"]')
if "failed" in (await page.title()).lower(): try:
logger.error("SSO authentication failed: invalid credentials") if "failed" in (await page.title()).lower():
return "" logger.error("SSO authentication failed: invalid credentials")
return ""
except NetworkError:
pass # TODO: This now fails when login is successful for some reason(?)
return page.url.split("#")[1].strip("access_token=") return page.url.split("#")[1].strip("access_token=")
except PyppeteerError as browser_error: except PyppeteerError as browser_error:
if verbose: if verbose: