In the following section, we will showcase external provider authentication by using Facebook as an authentication provider.
Here is an overview of the control flow in this case:
- The user clicks on a dedicated external provider login button.
- The corresponding controller receives a request indicating which provider is needed, then a challenge is initiated with the external provider.
- The external provider sends an HTTP callback (POST or GET) with a provider name, a key, and some user claims for the application.
- The claims are matched with the internal application user.
- If no internal user can be matched with the claims, the user is either redirected to a specific registration form or is rejected.