Skip to content

Commit 34b6276

Browse files
use JSONObjectUtils for parsing json
1 parent 9182858 commit 34b6276

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

plugins/microsoft-graph-authz/src/main/java/org/elasticsearch/xpack/security/authz/microsoft/MicrosoftGraphAuthzRealm.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
import java.util.List;
4242
import java.util.Map;
4343

44+
import static com.nimbusds.jose.util.JSONObjectUtils.getJSONObjectArray;
45+
import static com.nimbusds.jose.util.JSONObjectUtils.getString;
46+
4447
public class MicrosoftGraphAuthzRealm extends Realm {
4548

4649
private static final Logger logger = LogManager.getLogger(MicrosoftGraphAuthzRealm.class);
@@ -122,7 +125,7 @@ private String fetchAccessToken() throws IOException, ParseException {
122125
final var response = httpClient.execute(request, new BasicResponseHandler());
123126

124127
final var json = JSONObjectUtils.parse(response);
125-
final var token = (String) json.get("access_token");
128+
final var token = getString(json, "access_token");
126129
logger.trace("Azure access token [{}]", token);
127130

128131
return token;
@@ -141,8 +144,8 @@ private Tuple<String, String> fetchUserProperties(String userId, String token) t
141144
final var response = httpClient.execute(request, new BasicResponseHandler());
142145

143146
final var json = JSONObjectUtils.parse(response);
144-
final var email = (String) json.get("mail");
145-
final var name = (String) json.get("displayName");
147+
final var email = getString(json, "email");
148+
final var name = getString(json, "displayName");
146149

147150
logger.trace("User [{}] has email [{}]", name, email);
148151

@@ -166,10 +169,9 @@ private List<String> fetchGroupMembership(String userId, String token) throws IO
166169
final var response = httpClient.execute(request, new BasicResponseHandler());
167170

168171
var json = JSONObjectUtils.parse(response);
169-
nextPage = (String) json.get("@odata.nextLink");
170-
for (var groupData : (List<?>) json.get("value")) {
171-
final var properties = (Map<?, ?>) groupData;
172-
groups.add((String) properties.get("id"));
172+
nextPage = getString(json, "@odata.nextLink");
173+
for (var groupData : getJSONObjectArray(json, "groups")) {
174+
groups.add(getString(groupData, "id"));
173175
}
174176
}
175177

plugins/microsoft-graph-authz/src/main/java/org/elasticsearch/xpack/security/authz/microsoft/MicrosoftGraphAuthzRealmSettings.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
package org.elasticsearch.xpack.security.authz.microsoft;
1111

12-
import org.elasticsearch.common.settings.SecureSetting;
1312
import org.elasticsearch.common.settings.SecureString;
1413
import org.elasticsearch.common.settings.Setting;
1514
import org.elasticsearch.xpack.core.security.authc.RealmSettings;

0 commit comments

Comments
 (0)