This guide shows you how to build a sample app doing various things
with "social login" using OAuth2
and Spring Boot. It starts
with a simple, single-provider single-sign on, and works up to a
self-hosted OAuth2 Authorization Server with a choice of
authentication providers (Facebook or
Github). The samples are all
single-page apps using Spring Boot and Spring OAuth on the back
end. They also all use AngularJS on the front
end, but the changes needed to convert to a different JavaScript
framework or to use server side rendering would be minimal.
We have seen how to use Spring Boot and Spring Security to build apps
in a number of styles with very little effort. The main theme running
through all of the samples is "social" login using an external OAuth2
provider. The final sample could even be used to provide such a
service "internally" because it has the same basic features that the
external providers have. All of the sample apps can be easily extended
and re-configured for more specific use cases, usually with nothing
more than a configuration file change. Remember if you use versions of
the samples in your own servers to register with Facebook or Github
(or similar) and get client credentials for your own host
addresses. And remember not to put those credentials in source
control!