📢🚩✨💥🚀🎁 iCloud3 works again, you can log into your Apple Account
- Comments
- I believe Apple reimplemented the authentication process they introduced last November that caused the same errors. This time, however, the native Python PyiCloud interface had already incorporated the changes that solved the problem. Thanks go to the PyiCloud team headed by @timlaing. It also helped that I was home and not on a cruise ship off the western coast of Africa like last time.
- Some Notes about the 503 Error you may still see:
- Condition 1 - This is a new login, the iCloud session files with the Trust Tokens and Cookies are being created.
- Condition 2 - You are using multiple Apple Accounts.
- What happens - One account may login in fine (usually the first one), the other will fail with a Server/PW-503 error. This is displayed in the Event Log, Stage 4, the greenbar at the top of the Event Log and in the iCloud3 Alerts sensor (sensor.icloud3_alerts).
- What to do: Wait about 5-minutes, then restart iCloud3 using Event Log > Actions > Restart iCloud3 option. Do it again later if it gave you the 503 Error again.
- Thanks for the Coffee
- For those who encouraged me with the comments and coffee, thank you. I appreciate it.
✨ New and Improved Features
- Apple Account
- Added support for accepting updates to Apple's 'Terms of Use' documents.
- Added Update Display/Run-Time Parameters screen to the Update Apple Account screen
- Password SRP
- Added support for using the PasswordSRP (Secure Remote Password Verification protocol) for verifying the password when logging into the Apple Account. Instead of sending the actual password over the internet, a 256-bit encrypted one-time key is sent to Apple.
- Special Notes:
- This may reduce the need for the 6-digit verification code entry (under long term review).
- There are times when Apple will issue the Verification code popup and iCloud3 has not detected that the code is needed. I have ignored it and have not seen any problems. I have entered it and it was accepted.
- Added option to enable/disable it on the Update Apple Account > Update Display/Runtime Parameters screen. There may be times when a lot of logins to an Apple account will generate a 503 error and the Password will fail to be validated. Apple is refusing to handle it thinking it is a fraudulent transaction. After 20-30 (?) minutes, restart iCloud3 from the Event Log and it will usually validate and log into the account correctly.
- Internet Errors
- Improved the operation of internet error detection and handling
- Improved the status messages displayed while monitoring the internet
- Security Keys (Yubikey) Support (Incomplete and Currently Disabled)
- Changed error and status messages in the Configure screens to support Verification Code and Security Key handling
- Added the ability to show the Security Key Names in the Configure > Authenticate Apple Account Sign-in screen
- ToDo - Tie into HA to detect the Security Key Name used to authenticate the Apple Account sign-in
- iCloud Account I/O
- HA Event Loop Errors - Moved the Internet Connection Error handler and the Apple Account Username/Password validate handler from the HA Event Loop to the iCloud3 thread that runs outside of the Event Loop. This simplified requesting data from the Apple Account, handling internet errors and avoids problems related to doing I/O outside of the Event Loop.
- Docker Container - iCloud3 should no longer have I/O issues related to running in a Docker container (hopefully).
- Common icloud.com I/O handler - Consolidated all internet data request calls through a central point for improved reliability, control and monitoring
- Startup
- Logging into and verifying Apple accounts is now done in Event Log/Stage 4 to improve status monitoring
- Added status messages to the Event Log that show the Apple Account the results of each event during the authentication process
- Other Changes
- Internal changes, module name changes, code cleanup and reorganization