List of usage examples for org.springframework.security.oauth2.provider ClientDetails getClientSecret
String getClientSecret();
From source file:org.mitre.openid.connect.service.ClientUserDetailsService.java
@Override public UserDetails loadUserByUsername(String clientId) throws UsernameNotFoundException, DataAccessException { ClientDetails client = clientDetailsService.loadClientByClientId(clientId); String password = client.getClientSecret(); boolean enabled = true; boolean accountNonExpired = true; boolean credentialsNonExpired = true; boolean accountNonLocked = true; List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(); GrantedAuthority roleClient = new SimpleGrantedAuthority("ROLE_CLIENT"); authorities.add(roleClient);/*from w w w . j av a 2 s. c om*/ return new User(clientId, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); }
From source file:org.cloudfoundry.identity.uaa.oauth.ClientInfoEndpointTests.java
@Test public void testClientinfo() { Mockito.when(clientDetailsService.loadClientByClientId("foo")).thenReturn(foo); ClientDetails client = endpoint.clientinfo(new UsernamePasswordAuthenticationToken("foo", "<NONE>")); assertEquals("foo", client.getClientId()); assertNull(client.getClientSecret()); assertTrue(client.getAdditionalInformation().isEmpty()); }
From source file:org.socialhistoryservices.pid.controllers.KeysController.java
@RequestMapping("/admin/keys") public ModelAndView list(@RequestParam(value = "token", required = false) String refresh_token) { ModelAndView mav = new ModelAndView("keys"); final SecurityContext context = SecurityContextHolder.getContext(); Authentication authentication = context.getAuthentication(); List<String> nas = NamingAuthority.getNaRole(authentication); if (refresh_token != null) { mongoTokenStore.removeAccessTokenUsingRefreshToken(refresh_token); mongoTokenStore.removeRefreshToken(refresh_token); }//from ww w . ja v a2 s.c o m OAuth2AccessToken token = mongoTokenStore.selectKeys(authentication.getName()); if (token == null) { final ClientDetails clientDetails = clientDetailsService.loadClientByClientId(clientId); final ClientToken clientToken = new ClientToken(clientId, new HashSet<String>(clientDetails.getResourceIds()), clientDetails.getClientSecret(), new HashSet<String>(clientDetails.getScope()), clientDetails.getAuthorities()); final OAuth2Authentication oAuth2Authentication = new OAuth2Authentication(clientToken, authentication); token = tokenServices.createAccessToken(oAuth2Authentication); } mav.addObject("token", token); mav.addObject("nas", nas); return mav; }
From source file:nl.surfnet.coin.api.service.JanusClientDetailsServiceTest.java
/** * Test to see if the cache works. Especially the fact that we store items in * the same cache with the same key for different return Objects: * ClientDetails and ConsumerDetails//from ww w . j a v a 2 s .c o m * */ @Test public void testCache() throws IOException { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(this.getClass()); ClientDetailsService clientDetailsService = (ClientDetailsService) ctx.getBean("janusClientDetailsService"); Janus janus = (Janus) ctx.getBean("janus"); when(janus.getEntityIdsByMetaData(Metadata.OAUTH_CONSUMERKEY, "consumerkey")) .thenReturn(Collections.singletonList("sp-entity-id")); when(janus.getMetadataByEntityId("sp-entity-id")).thenReturn(getMetadata()); ClientDetails clientDetails = clientDetailsService.loadClientByClientId("consumerkey"); assertEquals("secret", clientDetails.getClientSecret()); // when we do this a second time the cache should kick in when(janus.getEntityIdsByMetaData(Metadata.OAUTH_CONSUMERKEY, "consumerkey")) .thenThrow(new RuntimeException("Cache did not kick in")); clientDetailsService.loadClientByClientId("consumerkey"); /* * now do the same for the loading of ConsumerDetails (and yes, this lengthy * test including the reset is necessary) to make sure we don't hit the * cache for loading the ConsumerDetails as we store both in the same cache * with potentially the same key (e.g. the consumerkey) resulting in * java.lang.ClassCastException: * nl.surfnet.coin.api.oauth.ExtendedBaseClientDetails cannot be cast to * org.springframework.security.oauth.provider.ConsumerDetails without a * custom key generator */ reset(janus); when(janus.getEntityIdsByMetaData(Metadata.OAUTH_CONSUMERKEY, "consumerkey")) .thenReturn(Collections.singletonList("sp-entity-id")); when(janus.getMetadataByEntityId("sp-entity-id")).thenReturn(getMetadata()); ConsumerDetailsService consumerDetailsService = (ConsumerDetailsService) clientDetailsService; ConsumerDetails consumerDetails = consumerDetailsService.loadConsumerByConsumerKey("consumerkey"); assertEquals("secret", ((SharedConsumerSecret) consumerDetails.getSignatureSecret()).getConsumerSecret()); when(janus.getEntityIdsByMetaData(Metadata.OAUTH_CONSUMERKEY, "consumerkey")) .thenThrow(new RuntimeException("Cache did not kick in")); consumerDetailsService.loadConsumerByConsumerKey("consumerkey"); }
From source file:com.cedac.security.oauth2.provider.client.MongoClientDetailsServiceTests.java
@Test public void testLoadingClientIdWithNoDetails() { collection.insert(new BasicDBObject("clientId", "clientIdWithNoDetails")); ClientDetails clientDetails = fixture.loadClientByClientId("clientIdWithNoDetails"); assertEquals("clientIdWithNoDetails", clientDetails.getClientId()); assertFalse(clientDetails.isSecretRequired()); assertNull(clientDetails.getClientSecret()); assertFalse(clientDetails.isScoped()); assertEquals(0, clientDetails.getScope().size()); assertEquals(2, clientDetails.getAuthorizedGrantTypes().size()); assertNull(clientDetails.getRegisteredRedirectUri()); assertEquals(0, clientDetails.getAuthorities().size()); assertEquals(null, clientDetails.getAccessTokenValiditySeconds()); assertEquals(null, clientDetails.getAccessTokenValiditySeconds()); }
From source file:com.cedac.security.oauth2.provider.client.MongoClientDetailsService.java
private DBObject toDBObject(ClientDetails clientDetails) { BasicDBObject dbo = new BasicDBObject(clientIdFieldName, clientDetails.getClientId()); if (clientDetails.isSecretRequired()) { dbo.put(clientSecretFieldName, passwordEncoder.encode(clientDetails.getClientSecret())); }// ww w . j av a2s.c o m updateDBObject(dbo, clientDetails); return dbo; }
From source file:st.malike.auth.server.service.security.ClientDetailService.java
private ClientDetail getMongoDBClientDetailsFromClient(ClientDetails cd) { ClientDetail clientDetails = new ClientDetail(); clientDetails.setAccessTokenValiditySeconds(cd.getAccessTokenValiditySeconds()); clientDetails.setAdditionalInformation(cd.getAdditionalInformation()); clientDetails.setAuthorizedGrantTypes(cd.getAuthorizedGrantTypes()); clientDetails.setClientId(cd.getClientId()); clientDetails.setClientSecret(cd.getClientSecret()); clientDetails.setRefreshTokenValiditySeconds(cd.getRefreshTokenValiditySeconds()); clientDetails.setRegisteredRedirectUri(cd.getRegisteredRedirectUri()); clientDetails.setResourceIds(cd.getResourceIds()); clientDetails.setScope(cd.getScope()); clientDetails.setScoped(cd.isScoped()); clientDetails.setSecretRequired(cd.isSecretRequired()); clientDetails.setId(cd.getClientId()); return clientDetails; }
From source file:com.cedac.security.oauth2.provider.client.MongoClientDetailsServiceTests.java
@Test public void testLoadingClientIdWithSingleDetails() { collection.insert(new BasicDBObject("clientId", "clientIdWithSingleDetails") .append("clientSecret", "mySecret").append("resourceIds", Arrays.asList("myResource")) .append("scope", Arrays.asList("myScope")) .append("authorizedGrantTypes", Arrays.asList("myAuthorizedGrantType")) .append("registeredRedirectUris", Arrays.asList("myRedirectUri")) .append("authorities", Arrays.asList("myAuthority")).append("accessTokenValidity", 100) .append("refreshTokenValidity", 200).append("autoapprove", "true")); ClientDetails clientDetails = fixture.loadClientByClientId("clientIdWithSingleDetails"); assertEquals("clientIdWithSingleDetails", clientDetails.getClientId()); assertTrue(clientDetails.isSecretRequired()); assertEquals("mySecret", clientDetails.getClientSecret()); assertTrue(clientDetails.isScoped()); assertEquals(1, clientDetails.getScope().size()); assertEquals("myScope", clientDetails.getScope().iterator().next()); assertEquals(1, clientDetails.getResourceIds().size()); assertEquals("myResource", clientDetails.getResourceIds().iterator().next()); assertEquals(1, clientDetails.getAuthorizedGrantTypes().size()); assertEquals("myAuthorizedGrantType", clientDetails.getAuthorizedGrantTypes().iterator().next()); assertEquals("myRedirectUri", clientDetails.getRegisteredRedirectUri().iterator().next()); assertEquals(1, clientDetails.getAuthorities().size()); assertEquals("myAuthority", clientDetails.getAuthorities().iterator().next().getAuthority()); assertEquals(new Integer(100), clientDetails.getAccessTokenValiditySeconds()); assertEquals(new Integer(200), clientDetails.getRefreshTokenValiditySeconds()); }
From source file:com.tlantic.integration.authentication.service.security.ClientDetailService.java
public ClientDetail getMongoDBClientDetailsFromClient(ClientDetails cd) { ClientDetail clientDetails = new ClientDetail(); clientDetails.setAccessTokenValiditySeconds(cd.getAccessTokenValiditySeconds()); clientDetails.setAdditionalInformation(cd.getAdditionalInformation()); clientDetails.setAuthorizedGrantTypes(cd.getAuthorizedGrantTypes()); clientDetails.setClientId(cd.getClientId()); clientDetails.setClientSecret(cd.getClientSecret()); clientDetails.setRefreshTokenValiditySeconds(cd.getRefreshTokenValiditySeconds()); clientDetails.setRegisteredRedirectUri(cd.getRegisteredRedirectUri()); clientDetails.setResourceIds(cd.getResourceIds()); clientDetails.setScope(cd.getScope()); clientDetails.setScoped(cd.isScoped()); clientDetails.setSecretRequired(cd.isSecretRequired()); clientDetails.setId(cd.getClientId()); return clientDetails; }
From source file:com.cedac.security.oauth2.provider.client.MongoClientDetailsServiceTests.java
@Test public void testLoadingClientIdWithMultipleDetails() { collection.insert(new BasicDBObject("clientId", "clientIdWithMultipleDetails") .append("clientSecret", "mySecret") .append("resourceIds", Arrays.asList("myResource1", "myResource2")) .append("scope", Arrays.asList("myScope1", "myScope2")) .append("authorizedGrantTypes", Arrays.asList("myAuthorizedGrantType1", "myAuthorizedGrantType2")) .append("registeredRedirectUris", Arrays.asList("myRedirectUri1", "myRedirectUri2")) .append("authorities", Arrays.asList("myAuthority1", "myAuthority2")) .append("accessTokenValidity", 100).append("refreshTokenValidity", 200) .append("autoapprove", Arrays.asList("read", "write"))); ClientDetails clientDetails = fixture.loadClientByClientId("clientIdWithMultipleDetails"); assertEquals("clientIdWithMultipleDetails", clientDetails.getClientId()); assertTrue(clientDetails.isSecretRequired()); assertEquals("mySecret", clientDetails.getClientSecret()); assertTrue(clientDetails.isScoped()); assertEquals(2, clientDetails.getResourceIds().size()); Iterator<String> resourceIds = clientDetails.getResourceIds().iterator(); assertEquals("myResource1", resourceIds.next()); assertEquals("myResource2", resourceIds.next()); assertEquals(2, clientDetails.getScope().size()); Iterator<String> scope = clientDetails.getScope().iterator(); assertEquals("myScope1", scope.next()); assertEquals("myScope2", scope.next()); assertEquals(2, clientDetails.getAuthorizedGrantTypes().size()); Iterator<String> grantTypes = clientDetails.getAuthorizedGrantTypes().iterator(); assertEquals("myAuthorizedGrantType1", grantTypes.next()); assertEquals("myAuthorizedGrantType2", grantTypes.next()); assertEquals(2, clientDetails.getRegisteredRedirectUri().size()); Iterator<String> redirectUris = clientDetails.getRegisteredRedirectUri().iterator(); assertEquals("myRedirectUri1", redirectUris.next()); assertEquals("myRedirectUri2", redirectUris.next()); assertEquals(2, clientDetails.getAuthorities().size()); Iterator<GrantedAuthority> authorities = clientDetails.getAuthorities().iterator(); assertEquals("myAuthority1", authorities.next().getAuthority()); assertEquals("myAuthority2", authorities.next().getAuthority()); assertEquals(new Integer(100), clientDetails.getAccessTokenValiditySeconds()); assertEquals(new Integer(200), clientDetails.getRefreshTokenValiditySeconds()); assertTrue(clientDetails.isAutoApprove("read")); }