问题
Question: How do you work around the bug outlined below?
Overview: I have three (3) types of unique (non-anonymous) authentication available for my app.
- Email/Password
App Behavior (steps to reproduce error):
- In the initial sign in, no error is thrown.
- App saves the initial sign in method programmatically.
- Clear data of App from within Android Settings.
- Secondary sign in, the following errors (or none) are thrown.
- Clear data again of App from within Android Settings.
- Tertiary sign in, the following errors (or none) are thrown.
Cases:
- Google - Facebook: UserCollisionError
- Google - Email/Password: InvalidCredentialsError
- Facebook - Email/Password: InvalidCredentialsError
- Facebook - Google: NO ERROR
- Facebook - Google - Facebook: UserCollisionError
- Facebook - Google - Email/Password: InvalidCredentialsError
- Email/Password - Google: NO ERROR
- Email/Password - Google - Email/Password: InvalidCredentialsError
- Email/Password - Google - Facebook: UserCollisionError
- Email/Password - Facebook: UserCollisionError
Note: As for cases 7-10 with initial Email/Password sign, a user account needs to be created from within Firebase console prior to the initial sign in.
Google Sign In seems to overwrite Firebase Auth user account with corresponding email address.
来源:https://stackoverflow.com/questions/40718466/firebase-auth-not-throwing-user-collision-error-after-secondary-google-sign-in