Turns out that in my case, it was an issue with the server-side config.
After following the instructions here: https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPJavaInstall, I was able to get the attributes simply as:
String eppn = (String) request.getAttribute("eppn"); // <-- no longer null