service layer cleanups
parent
4e18fb4525
commit
e9d1ed270d
|
@ -21,6 +21,7 @@ import java.util.Set;
|
||||||
|
|
||||||
import org.mitre.openid.connect.model.ApprovedSite;
|
import org.mitre.openid.connect.model.ApprovedSite;
|
||||||
import org.mitre.openid.connect.model.WhitelistedSite;
|
import org.mitre.openid.connect.model.WhitelistedSite;
|
||||||
|
import org.springframework.security.oauth2.provider.ClientDetails;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for ApprovedSite service
|
* Interface for ApprovedSite service
|
||||||
|
@ -88,4 +89,10 @@ public interface ApprovedSiteService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Collection<ApprovedSite> getByClientId(String clientId);
|
public Collection<ApprovedSite> getByClientId(String clientId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear out any approved sites for a given client.
|
||||||
|
* @param client
|
||||||
|
*/
|
||||||
|
public void clearApprovedSitesForClient(ClientDetails client);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,8 +27,9 @@ import org.mitre.oauth2.repository.OAuth2TokenRepository;
|
||||||
import org.mitre.oauth2.service.ClientDetailsEntityService;
|
import org.mitre.oauth2.service.ClientDetailsEntityService;
|
||||||
import org.mitre.openid.connect.model.ApprovedSite;
|
import org.mitre.openid.connect.model.ApprovedSite;
|
||||||
import org.mitre.openid.connect.model.WhitelistedSite;
|
import org.mitre.openid.connect.model.WhitelistedSite;
|
||||||
import org.mitre.openid.connect.repository.ApprovedSiteRepository;
|
import org.mitre.openid.connect.service.ApprovedSiteService;
|
||||||
import org.mitre.openid.connect.repository.WhitelistedSiteRepository;
|
import org.mitre.openid.connect.service.BlacklistedSiteService;
|
||||||
|
import org.mitre.openid.connect.service.WhitelistedSiteService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
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;
|
||||||
|
@ -46,10 +47,13 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
|
||||||
private OAuth2TokenRepository tokenRepository;
|
private OAuth2TokenRepository tokenRepository;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApprovedSiteRepository approvedSiteRepository;
|
private ApprovedSiteService approvedSiteService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private WhitelistedSiteRepository whitelistedSiteRepository;
|
private WhitelistedSiteService whitelistedSiteService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BlacklistedSiteService blacklistedSiteService;
|
||||||
|
|
||||||
public DefaultOAuth2ClientDetailsEntityService() {
|
public DefaultOAuth2ClientDetailsEntityService() {
|
||||||
|
|
||||||
|
@ -117,17 +121,12 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
|
||||||
tokenRepository.clearTokensForClient(client);
|
tokenRepository.clearTokensForClient(client);
|
||||||
|
|
||||||
// clean out any approved sites for this client
|
// clean out any approved sites for this client
|
||||||
Collection<ApprovedSite> approvedSites = approvedSiteRepository.getByClientId(client.getClientId());
|
approvedSiteService.clearApprovedSitesForClient(client);
|
||||||
if (approvedSites != null) {
|
|
||||||
for (ApprovedSite approvedSite : approvedSites) {
|
|
||||||
approvedSiteRepository.remove(approvedSite);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// clear out any whitelisted sites for this client
|
// clear out any whitelisted sites for this client
|
||||||
WhitelistedSite whitelistedSite = whitelistedSiteRepository.getByClientId(client.getClientId());
|
WhitelistedSite whitelistedSite = whitelistedSiteService.getByClientId(client.getClientId());
|
||||||
if (whitelistedSite != null) {
|
if (whitelistedSite != null) {
|
||||||
whitelistedSiteRepository.remove(whitelistedSite);
|
whitelistedSiteService.remove(whitelistedSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
// take care of the client itself
|
// take care of the client itself
|
||||||
|
|
|
@ -19,11 +19,13 @@ import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.mitre.oauth2.model.ClientDetailsEntity;
|
||||||
import org.mitre.openid.connect.model.ApprovedSite;
|
import org.mitre.openid.connect.model.ApprovedSite;
|
||||||
import org.mitre.openid.connect.model.WhitelistedSite;
|
import org.mitre.openid.connect.model.WhitelistedSite;
|
||||||
import org.mitre.openid.connect.repository.ApprovedSiteRepository;
|
import org.mitre.openid.connect.repository.ApprovedSiteRepository;
|
||||||
import org.mitre.openid.connect.service.ApprovedSiteService;
|
import org.mitre.openid.connect.service.ApprovedSiteService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.oauth2.provider.ClientDetails;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
@ -126,4 +128,14 @@ public class DefaultApprovedSiteService implements ApprovedSiteService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clearApprovedSitesForClient(ClientDetails client) {
|
||||||
|
Collection<ApprovedSite> approvedSites = approvedSiteRepository.getByClientId(client.getClientId());
|
||||||
|
if (approvedSites != null) {
|
||||||
|
for (ApprovedSite approvedSite : approvedSites) {
|
||||||
|
approvedSiteRepository.remove(approvedSite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue