ilgrosso commented on code in PR #546:
URL: https://github.com/apache/syncope/pull/546#discussion_r1390722163


##########
client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java:
##########
@@ -344,6 +349,28 @@ protected Iterator<String> getChoices(final String input) {
                             "field", "logoutUri", new 
PropertyModel<>(clientAppTO, "logoutUri"), false);
                     logoutUri.addValidator(new UrlValidator());
                     fields.add(logoutUri);
+
+                    BinaryFieldPanel jwks = new BinaryFieldPanel(
+                            "field", "jwks", new PropertyModel<>(clientAppTO, 
"jwks"), MediaType.APPLICATION_JSON, "");
+                    if (clientAppTO instanceof OIDCRPClientAppTO

Review Comment:
   The check `clientAppTO instanceof OIDCRPClientAppTO` is not needed



##########
client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java:
##########
@@ -344,6 +349,28 @@ protected Iterator<String> getChoices(final String input) {
                             "field", "logoutUri", new 
PropertyModel<>(clientAppTO, "logoutUri"), false);
                     logoutUri.addValidator(new UrlValidator());
                     fields.add(logoutUri);
+
+                    BinaryFieldPanel jwks = new BinaryFieldPanel(
+                            "field", "jwks", new PropertyModel<>(clientAppTO, 
"jwks"), MediaType.APPLICATION_JSON, "");

Review Comment:
   Do not pass "" as  `filekey`, it is used to name the downloaded file



##########
client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java:
##########
@@ -344,6 +349,28 @@ protected Iterator<String> getChoices(final String input) {
                             "field", "logoutUri", new 
PropertyModel<>(clientAppTO, "logoutUri"), false);
                     logoutUri.addValidator(new UrlValidator());
                     fields.add(logoutUri);
+
+                    BinaryFieldPanel jwks = new BinaryFieldPanel(
+                            "field", "jwks", new PropertyModel<>(clientAppTO, 
"jwks"), MediaType.APPLICATION_JSON, "");
+                    if (clientAppTO instanceof OIDCRPClientAppTO
+                            && StringUtils.isNotBlank(((OIDCRPClientAppTO) 
clientAppTO).getJwks())) {
+                        ((OIDCRPClientAppTO) 
clientAppTO).setJwks(Base64.getEncoder().encodeToString(
+                                ((OIDCRPClientAppTO) 
clientAppTO).getJwks().getBytes(StandardCharsets.UTF_8)));
+                        jwks.setNewModel(new PropertyModel<>(clientAppTO, 
"jwks"));
+                    }
+                    fields.add(jwks);
+
+                    AjaxTextFieldPanel jwksUri = new AjaxTextFieldPanel(
+                            "field", "jwksUri", new 
PropertyModel<>(clientAppTO, "jwksUri"), false);
+                    jwksUri.addValidator(new UrlValidator());
+                    fields.add(jwksUri);
+
+                    AjaxTextFieldPanel tokenEndpointAuthenticationMethod = new 
AjaxTextFieldPanel(

Review Comment:
   Let's transform this field from `String` to a new enum with values copied 
from 
`https://github.com/apereo/cas/blob/master/support/cas-server-support-oauth-api/src/main/java/org/apereo/cas/support/oauth/OAuth20ClientAuthenticationMethods.java`



##########
client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java:
##########
@@ -344,6 +349,28 @@ protected Iterator<String> getChoices(final String input) {
                             "field", "logoutUri", new 
PropertyModel<>(clientAppTO, "logoutUri"), false);
                     logoutUri.addValidator(new UrlValidator());
                     fields.add(logoutUri);
+
+                    BinaryFieldPanel jwks = new BinaryFieldPanel(
+                            "field", "jwks", new PropertyModel<>(clientAppTO, 
"jwks"), MediaType.APPLICATION_JSON, "");

Review Comment:
   Why using `PropertyModel` and after setting the value manually? Use a custom 
model instead



##########
client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java:
##########
@@ -344,6 +349,28 @@ protected Iterator<String> getChoices(final String input) {
                             "field", "logoutUri", new 
PropertyModel<>(clientAppTO, "logoutUri"), false);
                     logoutUri.addValidator(new UrlValidator());
                     fields.add(logoutUri);
+
+                    BinaryFieldPanel jwks = new BinaryFieldPanel(
+                            "field", "jwks", new PropertyModel<>(clientAppTO, 
"jwks"), MediaType.APPLICATION_JSON, "");

Review Comment:
   Have you tried to upload something here and save, then open again and 
download?



##########
client/am/console/src/main/java/org/apache/syncope/client/console/clientapps/ClientAppModalPanelBuilder.java:
##########
@@ -455,6 +482,10 @@ protected void populateItem(final ListItem<Component> 
item) {
         @Override
         public void onSubmit(final AjaxRequestTarget target) {
             try {
+                if (clientAppTO instanceof OIDCRPClientAppTO) {

Review Comment:
   This conversion shall be performed by a custom model as said above



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@syncope.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to