Theoretically speaking, it's possible to entirely delegate the authentication and/or authorization tasks to existing external, third-party providers such as those we mentioned before; there are a lot of web and mobile applications that proudly follow this route nowadays. There are a number of undeniable advantages in using such an approach, including the following:
- No user-specific DB tables/data models, just some provider-based identifiers to use here and there as reference keys.
- Immediate registration, since there's no need to fill in a registration form and wait for a confirmation email--no username, no password. This will be appreciated by most users and will probably increase our conversion rates as well. ...