diff --git a/dl.py b/dl.py index f99c956..5248ce4 100644 --- a/dl.py +++ b/dl.py @@ -22,6 +22,7 @@ def parse_args(): parser.add_argument('--auth-token', type=str) parser.add_argument('--session-id', type=str) parser.add_argument('--session-ci', type=str) + parser.add_argument('--csrf-cookie', type=str) parser.add_argument('--no-auth', action='store_true') @@ -33,7 +34,8 @@ def main(): try: if not args.no_auth and args.auth_token and args.session_id and args.session_ci: - set_token(args.auth_token, args.session_id, args.session_ci) + set_token(args.auth_token, args.session_id, + args.session_ci, args.csrf_cookie) elif not args.no_auth: load_token(args.starter_url) diff --git a/lib.py b/lib.py index c942025..4535022 100644 --- a/lib.py +++ b/lib.py @@ -20,6 +20,7 @@ class Token(): auth_token: str session_id: str session_ci: str + csrf_cookie: str def cookies(self): cookies = {} @@ -33,6 +34,9 @@ class Token(): if self.session_ci is not None: cookies["session_ci"] = self.session_ci + if self.csrf_cookie is not None: + cookies["csrf_cookie_name"] = self.csrf_cookie + return cookies @@ -62,9 +66,9 @@ class ClipDetails(): ] if url is not None] -def set_token(auth_token: str, session_id: str, session_ci: str): +def set_token(auth_token: str, session_id: str, session_ci: str, csrf_cookie: str): global _token - _token = Token(auth_token, session_id, session_ci) + _token = Token(auth_token, session_id, session_ci, csrf_cookie) def load_token(auth_url: str): @@ -88,6 +92,7 @@ def load_token(auth_url: str): auth_token=get_value(driver.get_cookie("SimpleSAMLAuthToken")), session_id=get_value(driver.get_cookie("SimpleSAMLSessionID")), session_ci=get_value(driver.get_cookie("session_ci")), + csrf_cookie=get_value(driver.get_cookie("csrf_cookie_name")), ) driver.close()