anchor.diff:  ----
   
   The preceding example shows the common use case of adding a custom parameter on top of the standard parameters.
  -Alternatively, if your requirements are more advanced, than you can take full control in building the Authorization Request URI by simply overriding the `OAuth2AuthorizationRequest.authorizationRequestUri` property.
  -
  -The following example shows a variation of the `customAuthorizationRequest()` method from the preceding example, and instead overrides the `OAuth2AuthorizationRequest.authorizationRequestUri` property.
  -
  -[source,java]
  -----
  -private OAuth2AuthorizationRequest customAuthorizationRequest(
  -		OAuth2AuthorizationRequest authorizationRequest) {
  -
  -	String customAuthorizationRequestUri = UriComponentsBuilder
  -			.fromUriString(authorizationRequest.getAuthorizationRequestUri())
  -			.queryParam("prompt", "consent")
  -			.build(true)
  -			.toUriString();
  -
  -	return OAuth2AuthorizationRequest.from(authorizationRequest)
  -			.authorizationRequestUri(customAuthorizationRequestUri)
  -			.build();
  +Alternatively, if your requirements are more advanced, you can take full control in building the Authorization Request URI by simply overriding the `OAuth2AuthorizationRequest.authorizationRequestUri` property.
  +
  +[TIP]
  +`OAuth2AuthorizationRequest.Builder.build()` constructs the `OAuth2AuthorizationRequest.authorizationRequestUri`, which represents the Authorization Request URI including all query parameters using the `application/x-www-form-urlencoded` format.
  +
  +The following example shows a variation of `authorizationRequestCustomizer()` from the preceding example, and instead overrides the `OAuth2AuthorizationRequest.authorizationRequestUri` property.
  +
  +[source,java]
  +----
  +private Consumer<OAuth2AuthorizationRequest.Builder> authorizationRequestCustomizer() {
  +	return customizer -> customizer
  +				.authorizationRequestUri(uriBuilder -> uriBuilder
  +					.queryParam("prompt", "consent").build());
   }
   ----
   
  
positive.code: [NOTE]
  OPTIONAL. Space delimited, case sensitive list of ASCII string values that specifies whether the Authorization Server prompts the End-User for reauthentication and consent. The defined values are: none, login, consent, select_account
  
  The following example shows how to implement an `OAuth2AuthorizationRequestResolver` that customizes the Authorization Request for `oauth2Login()`, by including the request parameter `prompt=consent`.
  
  [source,java]
  ----
  
negative.code: 			.oauth2Login(oauth2 -> oauth2
  				.authorizationEndpoint(authorization -> authorization
  					.authorizationRequestResolver(
  						authorizationRequestResolver(this.clientRegistrationRepository)
  					)
  				)
  			);
  	}
  
  	private OAuth2AuthorizationRequestResolver authorizationRequestResolver(
  			ClientRegistrationRepository clientRegistrationRepository) {
  
  		DefaultOAuth2AuthorizationRequestResolver authorizationRequestResolver =
  				new DefaultOAuth2AuthorizationRequestResolver(
  						clientRegistrationRepository, "/oauth2/authorization");
  		authorizationRequestResolver.setAuthorizationRequestCustomizer(
  				authorizationRequestCustomizer());
  
  		return  authorizationRequestResolver;
  	}
  
  	private Consumer<OAuth2AuthorizationRequest.Builder> authorizationRequestCustomizer() {
  		return customizer -> customizer
  					.additionalParameters(params -> params.put("prompt", "consent"));
  	}
  }
  ----
  
  For the simple use case, where the additional request parameter is always the same for a specific provider, it may be added directly in the `authorization-uri` property.
  
  For example, if the value for the request parameter `prompt` is always `consent` for the provider `okta`, than simply configure as follows:
  
  