I asked this same question recently. Here's an almost verbatim answer I received from Rob, another of our auth experts:
Without getting in to the technical details, the key difference that I would draw between password authentication and OAuth authentication, with respect to the restrictions around originating origin, is around sessioning.
The Firebase login server does not maintain sessions (via cookies or any other method), and so requests to the login server for password auth. requires a user credential (the password) for every request. CSRF is only a risk when a malicious party can take advantage of a user's session browser, i.e. make requests on behalf of the user to some page where cookies are automatically sent by the browser. Since we don't have this type of persistent sessioning, or use cookies at all, we're not at risk.
The
OAuth providers, however, use cookies for sessioning
and do not require user invention for each auth. request. If you've approved a particular Facebook app, you won't be shown any UI/UX or be prompted the next time that app requests your data - it will be invisible. When we do OAuth, we never have to send any user credentials to Facebook / Twitter / etc., because those are stored in browser cookies for
facebook.com /
twitter.com / etc. What we need to protect is a malicious party
pretending to be a popular, valid Facebook app. and taking advantage of that short-circuit behavior that would get access to user data without the user's knowledge.
In short, email/password auth has its own unique set of privileges, restrictions, and challenges; but, CSRF isn't applicable in that case.