Posting as I got this working after hours of trying. The information in the documentation and this thread is correct, but I’d like to add some clarifying notes that worked for me.
If you’re not using Home Assistant cloud then you need to remove default_config: from configuration.yaml to disable the “My Home Assistant” integration. You need to do this in order for your internal/external URL settings under System > Network are used when HA constructs the callback URL for Home Connect. As per the documentation, make sure the callback url matches one or both of these. The base URL you are browing from when you set up the integration will be used to construct the callback URL, so make sure that matches one that you have configured in the Home Connect OAuth application.
I suspect the main problem with the auth flow that results in the request rejected by client authorization authority (developer portal) error is down to use of third party cookies, so you need to disable all adblocking (browser plugins, pihole, adguard etc) and you must use Google Chrome, preferrably in a fresh/private browsing session to ensure there is no cache/cookies from either singlekey-id or Home Connect developer portal. Chrome is the only browser that still doesn’t block third party cookies and the only browser that worked for me. I also tethered to my phone to ensure that pihole would definitely not block any requests.
So to summarise:
- Follow the docs, the configuration guide is correct
- Disable all ad/cookie blocking extensions or services you have. If you use pihole/adguard, tether to your phone
- Use Google Chrome with a fresh/private session to set up the integration - this only works on Chrome
Hope this helps!