Skip to content

Commit

Permalink
Merge pull request #338
Browse files Browse the repository at this point in the history
Working entra
  • Loading branch information
arcshiftsolutions authored Jul 25, 2023
2 parents 013c7a2 + 1ac6f15 commit 6c45866
Showing 1 changed file with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,22 @@ protected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSes
SoamLoginEntity soamLoginEntity = fetchSoamLoginEntity("BASIC", userGUID);
token.getOtherClaims().put("accountType", "BCEID");

setStandardSoamLoginClaims(token, soamLoginEntity, userSession);
setStandardSoamLoginClaims(token, soamLoginEntity, userSession, true);
} else if (accountType.equals("entra")) {
SoamLoginEntity soamLoginEntity = fetchSoamLoginEntity("ENTRA", userGUID);
token.getOtherClaims().put("accountType", "ENTRA");

setStandardSoamLoginClaims(token, soamLoginEntity, userSession, false);
} else if (accountType.equals("bcsc")) {
SoamLoginEntity soamLoginEntity = fetchSoamLoginEntity("BCSC", userGUID);
token.getOtherClaims().put("accountType", "BCSC");

setStandardSoamLoginClaims(token, soamLoginEntity, userSession);
setStandardSoamLoginClaims(token, soamLoginEntity, userSession, true);
}
}
}

private void setStandardSoamLoginClaims(IDToken token, SoamLoginEntity soamLoginEntity, UserSessionModel userSession) {
private void setStandardSoamLoginClaims(IDToken token, SoamLoginEntity soamLoginEntity, UserSessionModel userSession, boolean includeDisplayName) {
if (soamLoginEntity.getStudent() != null) {
populateStudentClaims(token, soamLoginEntity);
}
Expand All @@ -127,7 +132,7 @@ else if (soamLoginEntity.getServiceCard() != null) {

//In this case we have a digital identity; someone that has logged in but does not have an associated student record
else if (soamLoginEntity.getDigitalIdentityID() != null) {
populateDigitalIDClaims(token, soamLoginEntity, userSession);
populateDigitalIDClaims(token, soamLoginEntity, userSession, includeDisplayName);
}

//This is an exception since we have no data at all
Expand All @@ -136,10 +141,12 @@ else if (soamLoginEntity.getDigitalIdentityID() != null) {
}
}

private void populateDigitalIDClaims(IDToken token, SoamLoginEntity soamLoginEntity, UserSessionModel userSession) {
private void populateDigitalIDClaims(IDToken token, SoamLoginEntity soamLoginEntity, UserSessionModel userSession, boolean includeDisplayName) {
Map<String, Object> otherClaims = token.getOtherClaims();
otherClaims.put("digitalIdentityID", soamLoginEntity.getDigitalIdentityID());
otherClaims.put("displayName", userSession.getUser().getFirstAttribute("display_name"));
if(includeDisplayName) {
otherClaims.put("displayName", userSession.getUser().getFirstAttribute("display_name"));
}
}

private void populateStudentClaims(IDToken token, SoamLoginEntity soamLoginEntity) {
Expand Down

0 comments on commit 6c45866

Please sign in to comment.