Today I've been learning about Spring Boot and OAuth2 with both Github as well as Google for the authorization providers.
I'm working through this really great course from Pluralsight: https://app.pluralsight.com/library/courses/spring-framework-security-oauth2-login
The source code is in Github and my local repo name is spring-boot-oauth2 on my WSL partition.
The project is really simple, but it's really powerful. First, you connect Github as the auth provider to a hello world webapp. The root is protected by Spring, and it immediately redirects you to Github so you can log in.
Upon successful login, you're immediately redirected back to the spring boot application (running on localhost in a dev environment) and it prints out your name! Very slick.
One of the modules (module 4) shows how to allow anonymous access to the home page (anybody can access it, even without logging in). That way you can register, or sign in, instead of being locked out, or immediately redirected to an authentication service.