public static org.xdi.oxauth.model.uma.UmaPermission convert(UmaPermission permission, UmaScopeService umaScopeService) { if (permission != null) { final org.xdi.oxauth.model.uma.UmaPermission result = new org.xdi.oxauth.model.uma.UmaPermission(); result.setResourceId(permission.getResourceId()); result.setScopes(umaScopeService.getScopeIdsByDns(permission.getScopeDns())); result.setExpiresAt(dateToSeconds(permission.getExpirationDate())); return result; } return null; }
private List<UmaPermission> createPermissions(UmaPermissionList permissions, Date expirationDate) { final String configurationCode = INumGenerator.generate(8) + "." + System.currentTimeMillis(); final String ticket = generateNewTicket(); List<UmaPermission> result = new ArrayList<UmaPermission>(); for (org.xdi.oxauth.model.uma.UmaPermission permission : permissions) { UmaPermission p = new UmaPermission(permission.getResourceId(), scopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(permission.getScopes()), ticket, configurationCode, expirationDate); if (permission.getParams() != null && !permission.getParams().isEmpty()) { p.getAttributes().putAll(permission.getParams()); } result.add(p); } return result; }
@Test(dependsOnMethods = { "init" }) public void testRegisterPermission() throws Exception { final UmaPermission r = new UmaPermission(); r.setResourceId(resource.getId()); r.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view")); final PermissionTicket ticket = TUma.registerPermission(url, pat, r, umaPermissionPath); UmaTestUtil.assert_(ticket); }
final UmaPermission r = new UmaPermission(); r.setResourceId(resource.getId() + "x");
public void validatePermission(org.xdi.oxauth.model.uma.UmaPermission permission) { String resourceId = permission.getResourceId(); if (StringHelper.isEmpty(resourceId)) { log.error("Resource id is empty"); errorResponseFactory.throwUmaWebApplicationException(BAD_REQUEST, INVALID_RESOURCE_ID); } try { UmaResource resource = resourceService.getResourceById(resourceId); if (resource == null) { log.error("Resource isn't registered or there are two resources with same Id"); errorResponseFactory.throwUmaWebApplicationException(BAD_REQUEST, INVALID_RESOURCE_ID); return; } final List<String> scopeUrls = umaScopeService.getScopeIdsByDns(resource.getScopes()); if (!scopeUrls.containsAll(permission.getScopes())) { log.error("At least one of the scope isn't registered"); errorResponseFactory.throwUmaWebApplicationException(BAD_REQUEST, INVALID_RESOURCE_SCOPE); } else { return; } } catch (EntryPersistenceException ex) { log.error(ex.getMessage(), ex); } log.error("Resource isn't registered"); errorResponseFactory.throwUmaWebApplicationException(BAD_REQUEST, INVALID_RESOURCE_ID); }
@Test(dependsOnMethods = { "_3_hostDeterminesRptStatus" }) @Parameters({"umaPermissionPath"}) public void _4_registerPermissionForRpt(String umaPermissionPath) throws Exception { final UmaPermission r = new UmaPermission(); r.setResourceId(resource.getId()); r.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view")); ticket = TUma.registerPermission(url, pat, r, umaPermissionPath); UmaTestUtil.assert_(ticket); }
public String registerResourcePermission(String resourceId, List<String> scopes) throws Exception { UmaPermission permission = new UmaPermission(); permission.setResourceId(resourceId); permission.setScopes(scopes); PermissionTicket ticket = getPermissionService().registerPermission( "Bearer " + this.registerResourceTest.pat.getAccessToken(), UmaPermissionList.instance(permission)); UmaTestUtil.assert_(ticket); this.ticket = ticket.getTicket(); return ticket.getTicket(); }
/** * Test for registering permissions for resource */ @Test public void testRegisterPermissionForInvalidResource() throws Exception { showTitle("testRegisterPermissionForInvalidResource"); UmaPermission permission = new UmaPermission(); permission.setResourceId(this.registerResourceTest.resourceId + "1"); permission.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view", "http://photoz.example.com/dev/scopes/all")); PermissionTicket ticket = null; try { ticket = getPermissionService().registerPermission( "Bearer " + this.registerResourceTest.pat.getAccessToken(), UmaPermissionList.instance(permission)); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); assertTrue(ex.getResponse().getStatus() != Response.Status.CREATED.getStatusCode() && ex.getResponse().getStatus() != Response.Status.OK.getStatusCode() , "Unexpected response status"); } assertNull(ticket, "Resource permission is not null"); } }