
In fact, if you clone and ng serve my sample application it connects to that very identity server 4 instance and supports external providers, without the client code having anything related to those providers. You can also easily "see"/"prove" this by pointing folks at the demo identityserver that also supports external logins. There is no way to do anything at all on the Angular side of things, at least not when using this library. If you use this library to do either one of the last two, the library will indeed send your users to /connect/authorize as per the oauth2/oidc specs, but then the back-end has to deal with forwarding users to external providers and afterwards rerouting them back.

The procedure looks similar, this is what we will have on Client OAuth Settings. To use Facebook, we need to create an app on Facebook for Developers. We will use the same route for all providers and will distinguish them by query parameter provider. Every provider will attach query parameters to the specified URI so that we could handle them on the front-end and process them on the back-end. Redirect URIs is where you want a user to appear after authorization. In Increaser, I have two client origins, one for development with localhost and another for the production version.


To use Google, we need to create a project in Google Developer Console, go to the credentials tab and add OAuth 2.0 Client. We will need pairs of CLIENT_ID and CLIENT_SECRET for every provider to implement authentication on the front-end and the back-end. After finishing the task, I decided to write a post so that other folks could add social auth to their apps much faster than I did. Recently I had to update and refactor authentication logic in Increaser app.
