python-overkiz-api icon indicating copy to clipboard operation
python-overkiz-api copied to clipboard

Implement auth factory

Open iMicknl opened this issue 4 years ago • 1 comments

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
})

iMicknl avatar Jan 17 '22 22:01 iMicknl

I think we should expose an interface where a get and post methods must be implemented. And behind, the implementation does what it wants.

tetienne avatar Jan 18 '22 08:01 tetienne