From 8d7a3cb48723a517f47a7f0e7e29ecdfd94114f5 Mon Sep 17 00:00:00 2001 From: Nirvana Date: Tue, 19 May 2026 15:01:22 +0200 Subject: [PATCH] Joyn change auth --- lib/streaming_providers/providers/joyn/auth.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/streaming_providers/providers/joyn/auth.py b/lib/streaming_providers/providers/joyn/auth.py index a6e1220..232a73e 100644 --- a/lib/streaming_providers/providers/joyn/auth.py +++ b/lib/streaming_providers/providers/joyn/auth.py @@ -681,10 +681,11 @@ class JoynAuthenticator(BaseOAuth2Authenticator): # Returns a redirect whose final URL contains either ?code= directly # (fast path) or ?sub=&track_id= (consent flow, needs one more step). logger.debug("Step 4: POST credentials to login-srv/login") + login_payload = urlencode({"username": username, "password": password, "requestId": request_id}) login_response = session.post( "https://auth.7pass.de/login-srv/login", - form_data={"username": username, "password": password, "requestId": request_id}, - headers=no_expect_header, + data=login_payload.encode("utf-8"), + headers={**no_expect_header, "Content-Type": "application/x-www-form-urlencoded"}, timeout=self._config.timeout, allow_redirects=True, ) @@ -718,7 +719,8 @@ class JoynAuthenticator(BaseOAuth2Authenticator): logger.debug(f"Step 5b: precheck/continue for track_id={track_id}") continue_response = session.post( f"https://auth.7pass.de/login-srv/precheck/continue/{track_id}", - form_data="", + data=b"", + headers={**no_expect_header, "Content-Type": "application/x-www-form-urlencoded"}, timeout=self._config.timeout, allow_redirects=True, )