backported OAuth authenticator