53 LOGGER.debug(
"Introspecting requesting party token");
57 ObjectNode tokenMetadata;
59 if (accessToken != null) {
60 AccessToken metadata =
new AccessToken();
62 metadata.id(accessToken.getId());
63 metadata.setAcr(accessToken.getAcr());
64 metadata.type(accessToken.getType());
65 metadata.expiration(accessToken.getExpiration());
66 metadata.issuedAt(accessToken.getIssuedAt());
67 metadata.audience(accessToken.getAudience());
68 metadata.notBefore(accessToken.getNotBefore());
69 metadata.setRealmAccess(null);
70 metadata.setResourceAccess(null);
72 tokenMetadata = JsonSerialization.createObjectNode(metadata);
73 Authorization authorization = accessToken.getAuthorization();
75 if (authorization != null) {
76 Collection permissions;
78 if (authorization.getPermissions() != null) {
79 permissions = authorization.getPermissions().stream().map(UmaPermissionRepresentation::new).collect(Collectors.toSet());
81 permissions = Collections.emptyList();
84 tokenMetadata.putPOJO(
"permissions", permissions);
87 tokenMetadata = JsonSerialization.createObjectNode();
90 tokenMetadata.put(
"active", accessToken != null);
92 return Response.ok(JsonSerialization.writeValueAsBytes(tokenMetadata)).type(MediaType.APPLICATION_JSON_TYPE).build();
93 }
catch (Exception e) {
94 throw new RuntimeException(
"Error creating token introspection response.", e);
static final Logger LOGGER
Definition: RPTIntrospectionProvider.java:45
AccessToken verifyAccessToken(String token)
Definition: AccessTokenIntrospectionProvider.java:72