code: @RequestMapping(value="/{providerId}", method=RequestMethod.POST)
  	public RedirectView signIn(@PathVariable String providerId, NativeWebRequest request) {
  		try {
  			ConnectionFactory<?> connectionFactory = connectionFactoryLocator.getConnectionFactory(providerId);
  			MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
  			preSignIn(connectionFactory, parameters, request);
  			return new RedirectView(connectSupport.buildOAuthUrl(connectionFactory, request, parameters));
  		} catch (Exception e) {
  			logger.error("Exception while building authorization URL: ", e);
  			return redirect(URIBuilder.fromUri(signInUrl).queryParam("error", "provider").build().toString());
  		}
  	}
docs: Process a sign-in form submission by commencing the process of establishing a connection to the provider on behalf of the user.
  For OAuth1, fetches a new request token from the provider, temporarily stores it in the session, then redirects the user to the provider's site for authentication authorization.
  For OAuth2, redirects the user to the provider's site for authentication authorization.
  @param providerId the provider ID to authorize against
  @param request the request
  @return a RedirectView to the provider's authorization page or to the application's signin page if there is an error