Browse Source

add try-resource

Shinsuke Sugaya 5 năm trước cách đây
mục cha
commit
be4f9b131d

+ 36 - 35
src/main/java/org/codelibs/fess/sso/oic/OpenIdConnectAuthenticator.java

@@ -160,41 +160,42 @@ public class OpenIdConnectAuthenticator implements SsoAuthenticator {
     }
 
     protected void parseJwtClaim(final String jwtClaim, final Map<String, Object> attributes) throws IOException {
-        final JsonParser jsonParser = jsonFactory.createJsonParser(jwtClaim);
-        while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
-            final String name = jsonParser.getCurrentName();
-            if (name != null) {
-                jsonParser.nextToken();
-
-                // TODO other parameters
-                switch (name) {
-                case "iss":
-                    attributes.put("iss", jsonParser.getText());
-                    break;
-                case "sub":
-                    attributes.put("sub", jsonParser.getText());
-                    break;
-                case "azp":
-                    attributes.put("azp", jsonParser.getText());
-                    break;
-                case "email":
-                    attributes.put("email", jsonParser.getText());
-                    break;
-                case "at_hash":
-                    attributes.put("at_hash", jsonParser.getText());
-                    break;
-                case "email_verified":
-                    attributes.put("email_verified", jsonParser.getText());
-                    break;
-                case "aud":
-                    attributes.put("aud", jsonParser.getText());
-                    break;
-                case "iat":
-                    attributes.put("iat", jsonParser.getText());
-                    break;
-                case "exp":
-                    attributes.put("exp", jsonParser.getText());
-                    break;
+        try (final JsonParser jsonParser = jsonFactory.createJsonParser(jwtClaim)) {
+            while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
+                final String name = jsonParser.getCurrentName();
+                if (name != null) {
+                    jsonParser.nextToken();
+
+                    // TODO other parameters
+                    switch (name) {
+                    case "iss":
+                        attributes.put("iss", jsonParser.getText());
+                        break;
+                    case "sub":
+                        attributes.put("sub", jsonParser.getText());
+                        break;
+                    case "azp":
+                        attributes.put("azp", jsonParser.getText());
+                        break;
+                    case "email":
+                        attributes.put("email", jsonParser.getText());
+                        break;
+                    case "at_hash":
+                        attributes.put("at_hash", jsonParser.getText());
+                        break;
+                    case "email_verified":
+                        attributes.put("email_verified", jsonParser.getText());
+                        break;
+                    case "aud":
+                        attributes.put("aud", jsonParser.getText());
+                        break;
+                    case "iat":
+                        attributes.put("iat", jsonParser.getText());
+                        break;
+                    case "exp":
+                        attributes.put("exp", jsonParser.getText());
+                        break;
+                    }
                 }
             }
         }