2FA fails on version 2.5.0 of the pyicloud code, because Apple no longer returns sessionUUID in the bridge push payload:
Bridge push payload keys: ['aps', 'cmd', 'adsid', 'atxnid', 'txnid', 'akdata', 'nextStep', 'odi', 'flowid']
Environment
$ uv pip show pyicloud
Name: pyicloud
Version: 2.5.0
Location: /Users/elliott/Documents/code/personal/pyicloud/.venv/lib/python3.14/site-packages
Requires: certifi, click, cryptography, fido2, keyring, keyrings-alt, protobuf, pydantic, requests, rich, srp, tinyhtml, typer, tzlocal
Required-by:
Traceback/Error logs
Traceback (most recent call last):
File "/Users/elliott/Documents/code/personal/pyicloud/.venv/lib/python3.14/site-packages/pyicloud/hsa2_bridge.py", line 212, in from_payload
validated = _BridgePushPayloadModel.model_validate(payload)
File "/Users/elliott/Documents/code/personal/pyicloud/.venv/lib/python3.14/site-packages/pydantic/main.py", line 732, in model_validate
return cls.__pydantic_validator__.validate_python(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
obj,
^^^^
...<5 lines>...
by_name=by_name,
^^^^^^^^^^^^^^^^
)
^
pydantic_core._pydantic_core.ValidationError: 1 validation error for _BridgePushPayloadModel
sessionUUID
Field required [type=missing, input_value={'aps': {'alert': ''}, 'c...4E1C-8896-87004D71B462'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.13/v/missing
Additional information
I have a patch that is working for me. I'll open a PR shortly.
2FA fails on version 2.5.0 of the pyicloud code, because Apple no longer returns sessionUUID in the bridge push payload:
Environment
Traceback/Error logs
Additional information
I have a patch that is working for me. I'll open a PR shortly.