List of usage examples for org.springframework.security.oauth2.provider.approval Approval Approval
public Approval(String userId, String clientId, String scope, Date expiresAt, ApprovalStatus status)
From source file:com.cedac.security.oauth2.provider.approval.AbstractTestApprovalStore.java
@Test public void testAddDifferentScopes() { assertTrue(addApprovals(// w w w.j a va 2s .com Arrays.<Approval>asList(new Approval("user", "client", "read", 1000, ApprovalStatus.APPROVED), new Approval("user", "client", "write", 1000, ApprovalStatus.APPROVED)))); assertEquals(2, getApprovalStore().getApprovals("user", "client").size()); }
From source file:com.cedac.security.oauth2.provider.approval.AbstractTestApprovalStore.java
@Test public void testIdempotentAdd() { assertTrue(addApprovals(//from ww w . j a v a 2 s . c o m Arrays.<Approval>asList(new Approval("user", "client", "read", 1000, ApprovalStatus.APPROVED), new Approval("user", "client", "write", 1000, ApprovalStatus.APPROVED)))); assertTrue(addApprovals( Arrays.<Approval>asList(new Approval("user", "client", "read", 1000, ApprovalStatus.APPROVED), new Approval("user", "client", "write", 1000, ApprovalStatus.APPROVED)))); assertEquals(2, getApprovalStore().getApprovals("user", "client").size()); }
From source file:com.cedac.security.oauth2.provider.approval.MongoApprovalStoreTests.java
@Test public void testRevokeByExpiry() { fixture.setHandleRevocationsAsExpiry(true); Approval approval1 = new Approval("user", "client", "read", 10000, Approval.ApprovalStatus.APPROVED); Approval approval2 = new Approval("user", "client", "write", 10000, Approval.ApprovalStatus.APPROVED); assertTrue(getApprovalStore().addApprovals(Arrays.<Approval>asList(approval1, approval2))); getApprovalStore().revokeApprovals(Arrays.asList(approval1)); assertEquals(2, getApprovalStore().getApprovals("user", "client").size()); /*assertEquals(new Integer(1), new JdbcTemplate(db) .queryForObject("SELECT COUNT(*) from oauth_approvals where userId='user' AND expiresAt < ?", Integer.class, new Date(System.currentTimeMillis() + 1000)));*/ }
From source file:com.cedac.security.oauth2.provider.approval.AbstractTestApprovalStore.java
@Test public void testAddDifferentClients() { assertTrue(addApprovals(/* w ww . ja v a 2 s . co m*/ Arrays.<Approval>asList(new Approval("user", "client", "read", 1000, ApprovalStatus.APPROVED), new Approval("user", "other", "write", 1000, ApprovalStatus.APPROVED)))); assertEquals(1, getApprovalStore().getApprovals("user", "client").size()); assertEquals(1, getApprovalStore().getApprovals("user", "other").size()); }
From source file:com.cedac.security.oauth2.provider.approval.AbstractTestApprovalStore.java
@Test public void testVanillaRevoke() { Approval approval1 = new Approval("user", "client", "read", 1000, ApprovalStatus.APPROVED); Approval approval2 = new Approval("user", "client", "write", 1000, ApprovalStatus.APPROVED); assertTrue(addApprovals(Arrays.<Approval>asList(approval1, approval2))); getApprovalStore().revokeApprovals(Arrays.asList(approval1)); assertEquals(getExpectedNumberOfApprovalsAfterRevoke(), getApprovalStore().getApprovals("user", "client").size()); }
From source file:org.springframework.security.oauth2.provider.approval.ApprovalStoreUserApprovalHandler.java
/** * Requires the authorization request to be explicitly approved, including all individual scopes, and the user to be * authenticated. A scope that was requested in the authorization request can be approved by sending a request * parameter <code>scope.<scopename></code> equal to "true" or "approved" (otherwise it will be assumed to * have been denied). The {@link ApprovalStore} will be updated to reflect the inputs. * /*w w w .j a v a2s . c o m*/ * @param authorizationRequest The authorization request. * @param userAuthentication the current user authentication * * @return An approved request if all scopes have been approved by the current user. */ public AuthorizationRequest updateAfterApproval(AuthorizationRequest authorizationRequest, Authentication userAuthentication) { // Get the approved scopes Set<String> requestedScopes = authorizationRequest.getScope(); Set<String> approvedScopes = new HashSet<String>(); Set<Approval> approvals = new HashSet<Approval>(); Date expiry = computeExpiry(); // Store the scopes that have been approved / denied Map<String, String> approvalParameters = authorizationRequest.getApprovalParameters(); for (String requestedScope : requestedScopes) { String approvalParameter = scopePrefix + requestedScope; String value = approvalParameters.get(approvalParameter); value = value == null ? "" : value.toLowerCase(); if ("true".equals(value) || value.startsWith("approve")) { approvedScopes.add(requestedScope); approvals.add(new Approval(userAuthentication.getName(), authorizationRequest.getClientId(), requestedScope, expiry, ApprovalStatus.APPROVED)); } else { approvals.add(new Approval(userAuthentication.getName(), authorizationRequest.getClientId(), requestedScope, expiry, ApprovalStatus.DENIED)); } } approvalStore.addApprovals(approvals); boolean approved; authorizationRequest.setScope(approvedScopes); if (approvedScopes.isEmpty() && !requestedScopes.isEmpty()) { approved = false; } else { approved = true; } authorizationRequest.setApproved(approved); return authorizationRequest; }