Skip to content

Commit

Permalink
Merge pull request #1128 from /issues/966
Browse files Browse the repository at this point in the history
Fix client sector uri bug/enhacement #966
  • Loading branch information
yurem committed Aug 22, 2018
2 parents 654a881 + f370ddf commit e5f90a3
Showing 1 changed file with 32 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@
import org.gluu.oxtrust.ldap.service.EncryptionService;
import org.gluu.oxtrust.ldap.service.OxTrustAuditService;
import org.gluu.oxtrust.ldap.service.ScopeService;
import org.gluu.oxtrust.ldap.service.SectorIdentifierService;
import org.gluu.oxtrust.model.GluuGroup;
import org.gluu.oxtrust.model.OxAuthClient;
import org.gluu.oxtrust.model.OxAuthScope;
import org.gluu.oxtrust.model.OxAuthSectorIdentifier;
import org.gluu.oxtrust.security.Identity;
import org.gluu.oxtrust.util.OxTrustConstants;
import org.gluu.site.ldap.persistence.exception.LdapMappingException;
Expand Down Expand Up @@ -99,6 +101,9 @@ public class UpdateClientAction implements Serializable {
@Inject
private Identity identity;

@Inject
private SectorIdentifierService sectorIdentifierService;

private String inum;

private boolean update;
Expand Down Expand Up @@ -510,14 +515,39 @@ public void acceptSelectLoginUri() {
if (!this.loginUris.contains(this.availableLoginUri) && checkWhiteListRedirectUris(availableLoginUri)
&& checkBlackListRedirectUris(availableLoginUri)) {

this.loginUris.add(this.availableLoginUri);
if (this.loginUris.size() < 1) {
this.loginUris.add(this.availableLoginUri);
} else if (this.loginUris.size() >= 1 && sectorExist()) {
this.loginUris.add(this.availableLoginUri);
} else {
facesMessages.add(FacesMessage.SEVERITY_ERROR, "A sector identifier must be defined first.",
"A sector identifier must be defined first.");
}

} else {
facesMessages.add(FacesMessage.SEVERITY_ERROR, "The URL is not valid or may be Blacklisted.");
facesMessages.add(FacesMessage.SEVERITY_ERROR, "The URL is not valid or may be Blacklisted.",
"The URL is not valid or may be Blacklisted.");
}

this.availableLoginUri = "https://";
}

private boolean sectorExist() {
String sectorUri = this.client.getSectorIdentifierUri();
if (sectorUri != null && !sectorUri.isEmpty()) {
String[] paths = sectorUri.split("/");
String id = paths[paths.length - 1];
OxAuthSectorIdentifier result = sectorIdentifierService.getSectorIdentifierById(id);
if (result != null && result.getId().equalsIgnoreCase(id)) {
return true;
} else {
return false;
}
} else {
return false;
}
}

public void acceptSelectClaims() {
if (this.availableClaims == null) {
return;
Expand Down

0 comments on commit e5f90a3

Please sign in to comment.