Implement auth factory
As discussed it would be good to implement some kind of authentication factory per server.
Eventually it would be great to investigate
Manufacturers
- [ ] Atlantic Cozytouch -> JWT / OAuth?
https://github.com/iMicknl/python-overkiz-api/blob/c5b8bf32e61ca81ac14a7e50379b24b5385107fa/pyoverkiz/client.py#L134-L137 Need to investigate if we can just pass this as a Bearer token to requests as well.
-
[ ] Hi Kumo -> classic /login
-
[ ] Nexity Eugénie -> ssoToken / OAuth? https://github.com/iMicknl/python-overkiz-api/blob/c5b8bf32e61ca81ac14a7e50379b24b5385107fa/pyoverkiz/client.py#L140-L143 Need to investigate if we can just pass this as a Bearer token to requests as well.
-
[ ] Rexel Energeasy Connect -> broken (uses Azure B2C without user/password flow) Tracked in https://github.com/iMicknl/ha-tahoma/issues/591.
-
[ ] Somfy (Europe) -> OAuth
Uses bearer token in header, need to handle token refresh Would the Somfy official API client id / secret work as well?
-
[ ] Somfy (other) -> classic /login
-
[ ] Local auth (all, jailbroken) Tracked in https://github.com/iMicknl/python-overkiz-api/issues/187
Endpoint is different (/enduser-mobile-web/1/enduserAPI/) and requires X-Auth-Token header.
/login endpoint doesn't exist, verify with checking another endpoint (/setup?).
self.headers.update ({
"X-Auth-Token": self.api_token
})
I think we should expose an interface where a get and post methods must be implemented. And behind, the implementation does what it wants.