anchor.diff:  [[jc-oauth2login]]
   === OAuth 2.0 Login
   
  -The OAuth 2.0 Login feature implements the following use case: "Login with Google" or "Login with GitHub". It provides an application with
  -the capability to have users log in to the application by using their existing account at an OAuth 2.0 Provider (e.g. GitHub) or OpenID Connect 1.0 Provider (such as Google).
  +The OAuth 2.0 Login feature provides an application with the capability to have users log in to the application
  +by using their existing account at an OAuth 2.0 Provider (e.g. GitHub) or OpenID Connect 1.0 Provider (such as Google).
  +OAuth 2.0 Login implements the use cases: "Login with Google" or "Login with GitHub".
   
   NOTE: OAuth 2.0 Login is implemented by using the *Authorization Code Grant*, as specified in the https://tools.ietf.org/html/rfc6749#section-4.1[OAuth 2.0 Authorization Framework]
   and http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth[OpenID Connect Core 1.0].
  
positive.code: `ClientRegistration` is a representation of a client registered with an OAuth 2.0 or OpenID Connect 1.0 Provider.
  
  A client registration holds information, such as client id, client secret,
  authorization grant type, redirect URI, scope(s), authorization URI, _token URI, and other details.
  
  `ClientRegistration` and its properties are defined as follows:
  
  
negative.code: 
  
  [[jc-oauth2login-completely-override-autoconfiguration]]
  ===== Completely Override the Auto-configuration
  
  The following example shows how to completely override the auto-configuration by both registering a `ClientRegistrationRepository` `@Bean` and providing a `WebSecurityConfigurerAdapter`, both of which were described in the two preceding sections.
  
  