[ZEPPELIN-2880] - Fix username output when OIDC is enabled

This commit is contained in:
byamthev 2017-08-25 11:04:52 +03:00
parent 89e2e0246c
commit 72636897ca

View file

@ -20,6 +20,7 @@ import java.net.InetAddress;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
import java.security.Principal;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@ -88,13 +89,24 @@ public class SecurityUtils {
String principal;
if (subject.isAuthenticated()) {
principal = subject.getPrincipal().toString();
principal = extractPrincipal(subject);
} else {
principal = ANONYMOUS;
}
return principal;
}
private static String extractPrincipal(Subject subject) {
String principal;
Object principalObject = subject.getPrincipal();
if (principalObject instanceof Principal) {
principal = ((Principal) principalObject).getName();
} else {
principal = String.valueOf(principalObject);
}
return principal;
}
public static Collection getRealmsList() {
if (!isEnabled) {
return Collections.emptyList();