How to force users to log in with OAuth
If you disable email notification of new accounts, the OpenID module will set a random password when users register. See openid_form_user_register_form_alter(). If that is not what you want, you use hook_form_alter() to do the same thing under your desired conditions.
If you want to intercept user_pass_reset() so it cannot reset passwords, try using hook_form_alter() to add a form validation function.