Open Locutus73 opened 5 years ago
Also Arlo states that everyone has to change to 2FA until end of the year, so this is even more important.
There are plenty discussions in the arlo forum about 2FA is a bad idea (in this content). I don't think that they will force everyone (account) to use 2FA.
Also in a python implementation they are discussing about how to implement a 2FA, but still seems to be a lot of work to do.
Okay, so I went down the rabbit hole on this, and I think it's possible, but unlikely to be usable for Homebridge. So, the way the Arlo OAuth dance works is this:
POST https://ocapi-app.arlo.com/api/auth
with a JSON payload containing the username and password of the user you're logging in ({"email":"EMAIL","password":btoa("PASSWORD")}
GET https://ocapi-app.arlo.com/api/getFactors
to get a list of 2FA methods the user has set upPOST https://ocapi-app.arlo.com/api/startAuth
with a 2FA method ID, and user ID, which should send the use a 2FA request. We'll also get back a factorAuthCode
.POST https://ocapi-app.arlo.com/api/finishAuth
with the factorAuthCode
, and the one time password that was emailed or texted to our user.And this is where we get sad. Tokens are only valid for 2 weeks, it looks like. We'd have to go through this process pretty frequently, which would be hell to manage in Homebridge.
Arlo just introduced 2 factor authentication. Old authentication API still works for accounts with 2FA disabled, but enabling 2FA would be a great security improvement.
Thank you in advance. Regards.