Fixed duplicate oauth fetch along with DRY improvement #1858

Fixes the duplicate Oauth issue.
It seems like this and LanternUtils.setOauth should synchronize on the same lock to make sure that the accessToken, refreshToken and expiry are set and retrieved atomically.