Merge pull request #4266 from CoreFiling/FullNameMapper
Fallback to using username in FullNameMapper
This commit is contained in:
commit
5e225c2bd5
1 file changed
+8
-3
@@ -26,8 +26,10 @@ import org.keycloak.representations.IDToken;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the 'name' claim to be first + last name.
|
* Set the 'name' claim to be first + last name.
|
||||||
@@ -73,9 +75,12 @@ public class FullNameMapper extends AbstractOIDCProtocolMapper implements OIDCAc
|
|||||||
|
|
||||||
protected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession) {
|
protected void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession) {
|
||||||
UserModel user = userSession.getUser();
|
UserModel user = userSession.getUser();
|
||||||
String first = user.getFirstName() == null ? "" : user.getFirstName() + " ";
|
List<String> parts = new LinkedList<>();
|
||||||
String last = user.getLastName() == null ? "" : user.getLastName();
|
Optional.ofNullable(user.getFirstName()).filter(s -> !s.isEmpty()).ifPresent(parts::add);
|
||||||
token.getOtherClaims().put("name", first + last);
|
Optional.ofNullable(user.getLastName()).filter(s -> !s.isEmpty()).ifPresent(parts::add);
|
||||||
|
if (!parts.isEmpty()) {
|
||||||
|
token.getOtherClaims().put("name", String.join(" ", parts));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ProtocolMapperModel create(String name,
|
public static ProtocolMapperModel create(String name,
|
||||||
|
|||||||
Reference in new issue
Block a user