joyn deviceinfo

This commit is contained in:
Nirvana
2026-05-30 21:38:16 +02:00
parent de9a4a7252
commit dbd7774470
2 changed files with 23 additions and 1 deletions
+22 -1
View File
@@ -481,7 +481,28 @@ class JoynAuthenticator(BaseOAuth2Authenticator):
except Exception as e:
logger.debug(f"User check failed (non-fatal): {e}")
# Step 1: Initiate PASSWORD verification
# Step 1a: Register device fingerprint — required before PASSWORD initiation
try:
import hashlib
_fingerprint_input = f"{request_id}{self._device_id}{JOYN_USER_AGENT}"
_fingerprint = hashlib.sha256(_fingerprint_input.encode()).hexdigest()
_request(
"POST",
"https://auth.7pass.de/device-srv/deviceinfo",
json={
"fingerprint": _fingerprint,
"userAgent": "",
},
content_type="application/json",
headers={
"Referer": signin_url,
"Origin": "https://signin.7pass.de",
},
)
except Exception as e:
logger.debug(f"Device info registration failed (non-fatal): {e}")
# Step 1b: Initiate PASSWORD verification
# Wrapped in try/except so HTTPError from raise_for_status inside the
# HTTP manager doesn't bypass our Cloudflare detection.
try:
@@ -28,6 +28,7 @@ JOYN_7PASS_ENDPOINTS = {
"REGISTRATION_SETUP": f"{JOYN_7PASS_BASE_URL}/registration-setup-srv/public/list",
"VERIFICATION_CONFIGURED": f"{JOYN_7PASS_BASE_URL}/verification-srv/v2/setup/public/configured/list",
"VERIFICATION_INITIATE": f"{JOYN_7PASS_BASE_URL}/verification-srv/v2/authenticate/initiate/PASSWORD", # NEW
"DEVICE_INFO": f"{JOYN_7PASS_BASE_URL}/device-srv/deviceinfo", # Required before PASSWORD initiation
}
# Joyn auth endpoints (non-OIDC)