Removed unused ClientGeneratorFactory
parent
d6d80c3e60
commit
cf348590b0
|
@ -1,23 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright 2012 The MITRE Corporation
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
******************************************************************************/
|
|
||||||
package org.mitre.oauth2.model;
|
|
||||||
|
|
||||||
|
|
||||||
public interface ClientDetailsEntityFactory {
|
|
||||||
|
|
||||||
public ClientDetailsEntity createClient(String clientId, String clientSecret);
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,47 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright 2012 The MITRE Corporation
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
******************************************************************************/
|
|
||||||
package org.mitre.oauth2.model;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
|
||||||
import org.mitre.oauth2.model.ClientDetailsEntity.ClientDetailsEntityBuilder;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A factory for making OAuth2 clients with autogenerated IDs and secrets (as desired)
|
|
||||||
* @author jricher
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class ClientGeneratorFactory implements ClientDetailsEntityFactory {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ClientDetailsEntity createClient(String clientId, String clientSecret) {
|
|
||||||
ClientDetailsEntityBuilder builder = ClientDetailsEntity.makeBuilder();
|
|
||||||
if (clientId == null) {
|
|
||||||
clientId = UUID.randomUUID().toString();
|
|
||||||
}
|
|
||||||
builder.setClientId(clientId);
|
|
||||||
if (clientSecret == null) {
|
|
||||||
clientSecret = Base64.encodeBase64((UUID.randomUUID().toString() + UUID.randomUUID().toString()).getBytes()).toString();
|
|
||||||
}
|
|
||||||
builder.setClientSecret(clientSecret);
|
|
||||||
|
|
||||||
return builder.finish();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -27,10 +27,6 @@ public interface ClientDetailsEntityService extends ClientDetailsService {
|
||||||
|
|
||||||
public ClientDetailsEntity loadClientByClientId(String clientId) throws OAuth2Exception;
|
public ClientDetailsEntity loadClientByClientId(String clientId) throws OAuth2Exception;
|
||||||
|
|
||||||
public ClientDetailsEntity createClient(String clientId, String clientSecret, Set<String> scope, Set<String> grantTypes, String redirectUri, Set<GrantedAuthority> authorities, Set<String> resourceIds, String name, String description, boolean allowRefresh, Integer accessTokenTimeout, Integer refreshTokenTimeout, Set<String> contacts);
|
|
||||||
|
|
||||||
public ClientDetailsEntity createClient(ClientDetailsEntity client);
|
|
||||||
|
|
||||||
public void deleteClient(ClientDetailsEntity client);
|
public void deleteClient(ClientDetailsEntity client);
|
||||||
|
|
||||||
public ClientDetailsEntity updateClient(ClientDetailsEntity oldClient, ClientDetailsEntity newClient);
|
public ClientDetailsEntity updateClient(ClientDetailsEntity oldClient, ClientDetailsEntity newClient);
|
||||||
|
|
|
@ -16,24 +16,19 @@
|
||||||
package org.mitre.oauth2.service.impl;
|
package org.mitre.oauth2.service.impl;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.mitre.oauth2.model.ClientDetailsEntity;
|
import org.mitre.oauth2.model.ClientDetailsEntity;
|
||||||
import org.mitre.oauth2.model.ClientDetailsEntityFactory;
|
|
||||||
import org.mitre.oauth2.repository.OAuth2ClientRepository;
|
import org.mitre.oauth2.repository.OAuth2ClientRepository;
|
||||||
import org.mitre.oauth2.repository.OAuth2TokenRepository;
|
import org.mitre.oauth2.repository.OAuth2TokenRepository;
|
||||||
import org.mitre.oauth2.service.ClientDetailsEntityService;
|
import org.mitre.oauth2.service.ClientDetailsEntityService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
|
||||||
import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
|
import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
|
||||||
import org.springframework.security.oauth2.common.exceptions.OAuth2Exception;
|
import org.springframework.security.oauth2.common.exceptions.OAuth2Exception;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.Sets;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@ -45,18 +40,15 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
|
||||||
@Autowired
|
@Autowired
|
||||||
private OAuth2TokenRepository tokenRepository;
|
private OAuth2TokenRepository tokenRepository;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ClientDetailsEntityFactory clientFactory;
|
|
||||||
|
|
||||||
public DefaultOAuth2ClientDetailsEntityService() {
|
public DefaultOAuth2ClientDetailsEntityService() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DefaultOAuth2ClientDetailsEntityService(OAuth2ClientRepository clientRepository,
|
public DefaultOAuth2ClientDetailsEntityService(OAuth2ClientRepository clientRepository,
|
||||||
OAuth2TokenRepository tokenRepository, ClientDetailsEntityFactory clientFactory) {
|
OAuth2TokenRepository tokenRepository) {
|
||||||
this.clientRepository = clientRepository;
|
this.clientRepository = clientRepository;
|
||||||
this.tokenRepository = tokenRepository;
|
this.tokenRepository = tokenRepository;
|
||||||
this.clientFactory = clientFactory;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -77,49 +69,6 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
|
||||||
throw new IllegalArgumentException("Client id must not be empty!");
|
throw new IllegalArgumentException("Client id must not be empty!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new client with the appropriate fields filled in
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public ClientDetailsEntity createClient(String clientId, String clientSecret,
|
|
||||||
Set<String> scope, Set<String> grantTypes, String redirectUri, Set<GrantedAuthority> authorities,
|
|
||||||
Set<String> resourceIds,
|
|
||||||
String name, String description, boolean allowRefresh, Integer accessTokenTimeout,
|
|
||||||
Integer refreshTokenTimeout, Set<String> contacts) {
|
|
||||||
|
|
||||||
// TODO: check "owner" locally?
|
|
||||||
|
|
||||||
ClientDetailsEntity client = clientFactory.createClient(clientId, clientSecret);
|
|
||||||
client.setScope(scope);
|
|
||||||
client.setAuthorizedGrantTypes(grantTypes);
|
|
||||||
//client.setRegisteredRedirectUri(redirectUri);
|
|
||||||
Set<String> redirectUris = new HashSet<String>();
|
|
||||||
redirectUris.add(redirectUri);
|
|
||||||
client.setRegisteredRedirectUri(redirectUris);
|
|
||||||
client.setAuthorities(authorities);
|
|
||||||
client.setApplicationName(name);
|
|
||||||
client.setClientDescription(description);
|
|
||||||
client.setAllowRefresh(allowRefresh);
|
|
||||||
client.setAccessTokenValiditySeconds(accessTokenTimeout);
|
|
||||||
client.setRefreshTokenValiditySeconds(refreshTokenTimeout);
|
|
||||||
client.setResourceIds(resourceIds);
|
|
||||||
client.setContacts(contacts);
|
|
||||||
|
|
||||||
clientRepository.saveClient(client);
|
|
||||||
|
|
||||||
return client;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ClientDetailsEntity createClient(ClientDetailsEntity client) {
|
|
||||||
|
|
||||||
clientRepository.saveClient(client);
|
|
||||||
|
|
||||||
return client;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a client and all its associated tokens
|
* Delete a client and all its associated tokens
|
||||||
*/
|
*/
|
||||||
|
@ -166,7 +115,7 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
|
||||||
// assign it a new ID
|
// assign it a new ID
|
||||||
if (client.getClientId() == null || client.getClientId().equals("") || this.loadClientByClientId(client.getClientId()) == null) {
|
if (client.getClientId() == null || client.getClientId().equals("") || this.loadClientByClientId(client.getClientId()) == null) {
|
||||||
client.setClientId(UUID.randomUUID().toString());
|
client.setClientId(UUID.randomUUID().toString());
|
||||||
return this.createClient(client);
|
return clientRepository.saveClient(client);
|
||||||
} else {
|
} else {
|
||||||
return clientRepository.updateClient(client.getClientId(), client);
|
return clientRepository.updateClient(client.getClientId(), client);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue