| 
					
				 | 
			
			
				@@ -38,7 +38,7 @@ import java.util.Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @see <a target="_blank" href="https://tools.ietf.org/html/rfc6749#section-4.2.1">Section 4.2.1 Implicit Grant Request</a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public final class AuthorizationRequest implements Serializable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private String authorizeUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private String authorizationUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private AuthorizationGrantType authorizationGrantType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private ResponseType responseType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private String clientId; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,8 +50,8 @@ public final class AuthorizationRequest implements Serializable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private AuthorizationRequest() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public String getAuthorizeUri() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return this.authorizeUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String getAuthorizationUri() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return this.authorizationUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public AuthorizationGrantType getGrantType() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -91,62 +91,76 @@ public final class AuthorizationRequest implements Serializable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public static class Builder { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		private final AuthorizationRequest authorizationRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private String authorizationUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private AuthorizationGrantType authorizationGrantType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private ResponseType responseType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private String clientId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private String redirectUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private Set<String> scope; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private String state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		private Map<String,Object> additionalParameters; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		private Builder(AuthorizationGrantType authorizationGrantType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			Assert.notNull(authorizationGrantType, "authorizationGrantType cannot be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest = new AuthorizationRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.authorizationGrantType = authorizationGrantType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.authorizationGrantType = authorizationGrantType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (AuthorizationGrantType.AUTHORIZATION_CODE.equals(authorizationGrantType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				this.authorizationRequest.responseType = ResponseType.CODE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.responseType = ResponseType.CODE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} else if (AuthorizationGrantType.IMPLICIT.equals(authorizationGrantType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				this.authorizationRequest.responseType = ResponseType.TOKEN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.responseType = ResponseType.TOKEN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		public Builder authorizeUri(String authorizeUri) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.authorizeUri = authorizeUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		public Builder authorizationUri(String authorizationUri) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.authorizationUri = authorizationUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		public Builder clientId(String clientId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.clientId = clientId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.clientId = clientId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		public Builder redirectUri(String redirectUri) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.redirectUri = redirectUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.redirectUri = redirectUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		public Builder scope(Set<String> scope) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.scope = scope; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.scope = scope; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		public Builder state(String state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.state = state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.state = state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		public Builder additionalParameters(Map<String,Object> additionalParameters) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.additionalParameters = additionalParameters; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.additionalParameters = additionalParameters; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		public AuthorizationRequest build() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Assert.hasText(this.authorizationRequest.authorizeUri, "authorizeUri cannot be empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Assert.hasText(this.authorizationRequest.clientId, "clientId cannot be empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (AuthorizationGrantType.IMPLICIT.equals(this.authorizationRequest.authorizationGrantType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				Assert.hasText(this.authorizationRequest.redirectUri, "redirectUri cannot be empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Assert.hasText(this.authorizationUri, "authorizationUri cannot be empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Assert.hasText(this.clientId, "clientId cannot be empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (AuthorizationGrantType.IMPLICIT.equals(this.authorizationGrantType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Assert.hasText(this.redirectUri, "redirectUri cannot be empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.scope = Collections.unmodifiableSet( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				CollectionUtils.isEmpty(this.authorizationRequest.scope) ? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					Collections.emptySet() : new LinkedHashSet<>(this.authorizationRequest.scope)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			this.authorizationRequest.additionalParameters = Collections.unmodifiableMap( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				CollectionUtils.isEmpty(this.authorizationRequest.additionalParameters) ? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					Collections.emptyMap() : new LinkedHashMap<>(this.authorizationRequest.additionalParameters)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return this.authorizationRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			AuthorizationRequest authorizationRequest = new AuthorizationRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.authorizationUri = this.authorizationUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.authorizationGrantType = this.authorizationGrantType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.responseType = this.responseType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.clientId = this.clientId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.redirectUri = this.redirectUri; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.state = this.state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.scope = Collections.unmodifiableSet( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CollectionUtils.isEmpty(this.scope) ? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Collections.emptySet() : new LinkedHashSet<>(this.scope)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			authorizationRequest.additionalParameters = Collections.unmodifiableMap( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CollectionUtils.isEmpty(this.additionalParameters) ? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Collections.emptyMap() : new LinkedHashMap<>(this.additionalParameters)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return authorizationRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |