84 AuthenticationUtilities.ensureOAuthScope(auth, SystemScopeService.UMA_AUTHORIZATION_SCOPE);
86 JsonParser parser =
new JsonParser();
87 JsonElement e = parser.parse(jsonString);
89 if (e.isJsonObject()) {
90 JsonObject o = e.getAsJsonObject();
94 OAuth2AccessTokenEntity incomingRpt = null;
96 String rptValue = o.get(
RPT).getAsString();
100 String ticketValue = o.get(
TICKET).getAsString();
104 if (ticket != null) {
109 if (rs.getPolicies() == null || rs.getPolicies().isEmpty()) {
112 m.addAttribute(JsonErrorView.ERROR,
"not_authorized");
113 m.addAttribute(JsonErrorView.ERROR_MESSAGE,
"This resource set can not be accessed.");
114 m.addAttribute(HttpCodeView.CODE, HttpStatus.FORBIDDEN);
115 return JsonErrorView.VIEWNAME;
122 if (result.isSatisfied()) {
126 OAuth2Authentication o2auth = (OAuth2Authentication) auth;
131 if (incomingRpt != null) {
135 Map<String, String> entity = ImmutableMap.of(
"rpt", token.getValue());
137 m.addAttribute(JsonEntityView.ENTITY, entity);
139 return JsonEntityView.VIEWNAME;
144 JsonObject entity =
new JsonObject();
146 entity.addProperty(JsonErrorView.ERROR,
"need_info");
147 JsonObject details =
new JsonObject();
149 JsonObject rpClaims =
new JsonObject();
150 rpClaims.addProperty(
"redirect_user",
true);
151 rpClaims.addProperty(
"ticket", ticketValue);
152 JsonArray req =
new JsonArray();
153 for (Claim claim : result.getUnmatched()) {
154 JsonObject c =
new JsonObject();
155 c.addProperty(
"name", claim.getName());
156 c.addProperty(
"friendly_name", claim.getFriendlyName());
157 c.addProperty(
"claim_type", claim.getClaimType());
158 JsonArray f =
new JsonArray();
159 for (String format : claim.getClaimTokenFormat()) {
160 f.add(
new JsonPrimitive(format));
162 c.add(
"claim_token_format", f);
163 JsonArray i =
new JsonArray();
164 for (String issuer : claim.getIssuer()) {
165 i.add(
new JsonPrimitive(issuer));
170 rpClaims.add(
"required_claims", req);
171 details.add(
"requesting_party_claims", rpClaims);
172 entity.add(
"error_details", details);
174 m.addAttribute(JsonEntityView.ENTITY, entity);
175 return JsonEntityView.VIEWNAME;
182 m.addAttribute(HttpStatus.BAD_REQUEST);
183 m.addAttribute(JsonErrorView.ERROR,
"invalid_ticket");
184 return JsonErrorView.VIEWNAME;
188 m.addAttribute(HttpCodeView.CODE, HttpStatus.BAD_REQUEST);
189 m.addAttribute(JsonErrorView.ERROR_MESSAGE,
"Missing JSON elements.");
190 return JsonErrorView.VIEWNAME;
195 m.addAttribute(HttpCodeView.CODE, HttpStatus.BAD_REQUEST);
196 m.addAttribute(JsonErrorView.ERROR_MESSAGE,
"Malformed JSON request.");
197 return JsonErrorView.VIEWNAME;
OAuth2TokenEntityService tokenService
Definition: AuthorizationRequestEndpoint.java:73
ClaimsProcessingService claimsProcessingService
Definition: AuthorizationRequestEndpoint.java:76
ResourceSet getResourceSet()
Definition: Permission.java:66
Permission getPermission()
Definition: PermissionTicket.java:91
PermissionService permissionService
Definition: AuthorizationRequestEndpoint.java:70
static final String RPT
Definition: AuthorizationRequestEndpoint.java:65
static final String TICKET
Definition: AuthorizationRequestEndpoint.java:66
PermissionTicket getByTicket(String ticket)
UmaTokenService umaTokenService
Definition: AuthorizationRequestEndpoint.java:79
OAuth2AccessTokenEntity readAccessToken(String accessTokenValue)
OAuth2AccessTokenEntity createRequestingPartyToken(OAuth2Authentication o2auth, PermissionTicket ticket, Policy policy)
void revokeAccessToken(OAuth2AccessTokenEntity accessToken)
ClaimProcessingResult claimsAreSatisfied(ResourceSet rs, PermissionTicket ticket)