Hello, I am responding to this post as I am currently experiencing similar issues and have not been able to find an appropriate fix. I have tried everything suggested above and a number of other fixes/solutions that I have found online but still encounter an "Authentication Failed" page.
I have identified that Shibboleth is returning all Null values to DSpace for SHIB-NETID &, SHIB-MAIL, SHIB-GIVENNAME, & SHIB_SERNAME. I have checked and these values are being passed to Apache but not returned by Shibboleth. Below is what is displayed in the log: user-agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36' accept='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' Sec-Fetch-Site='same-site' Sec-Fetch-Mode='navigate' referer='https://idp-test.ucs.ed.ac.uk/idp/profile/SAML2/Redirect/SSO?SAMLRequest=jZJdT8IwFIb%2FytL7rdtwIzRsCcKFJCiETS%2B8MV13kMaunT2dH%2F%2FewVDxhnjbvud5e550irxRLZt1bq%2B38NoBOu%2BjURrZ8SIjndXMcJTING8AmROsmN2uWByErLXGGWEU8WaIYJ00em40dg3YAuybFHC%2FXWVk71yLjFLFhQ8fvEHf9TWBxADqgIuge6HFXlaVUeD2AaKhh4aYbtZFSbxFn5WaH%2BC%2FKFm3A6QTZ5T%2BlPZv2kkFJ8QWamlBOFoUa%2BItFxl5qpMw5vF4JCbhro6SqErEKA2rlIvJJNqNoY8hdrDU6Lh2GYnDOPTDyI%2BuyihhScri9JF4m9Pq11LXUj9f9lQNIWQ3Zbnxh7UewOJxpT5A8unBNjsW2zP%2Fl7H8WzrJ%2F6EYfxRP6VnbUN2yux6%2FXGyMkuLTmyll3ucWuIOMRITmw8jff5J%2FAQ%3D%3D&RelayState=ss%3Amem%3A8e603a48b9c2cf217ea7ff095ed2bbd128ed057ff50014423e196398cd4bae59' Accept-Encoding='gzip, deflate, br' Accept-Language='en-GB,en-US;q=0.9,en;q=0.8' cookie='_ga=GA1.3.784570009.1579017373; _gid=GA1.3.1538566364.1579017373; _gat=1; JSESSIONID=0406C1F7CAA6E3EF0857590A2FBC34B8; _shibsession_64656661756c7468747470733a2f2f6c61632d6578616d732d746573742e69732e65642e61632e756b2f73686962626f6c657468=_7d78de158496be3215ce38a786bb5bd0' content-length='0' 2020-01-14 15:56:27,082 DEBUG org.dspace.authenticate.ShibAuthentication @ ShibAuthentication - attribute SHIB-NETID is empty! 2020-01-14 15:56:27,082 DEBUG org.dspace.authenticate.ShibAuthentication @ ShibAuthentication - attribute SHIB-MAIL is empty! 2020-01-14 15:56:27,082 ERROR org.dspace.authenticate.ShibAuthentication @ Shibboleth authentication was not able to find a NetId, Email, or Tomcat Remote user for which to indentify a user from. 2020-01-14 15:56:27,082 DEBUG org.dspace.authenticate.ShibAuthentication @ ShibAuthentication - attribute SHIB-NETID is empty! 2020-01-14 15:56:27,082 DEBUG org.dspace.authenticate.ShibAuthentication @ ShibAuthentication - attribute SHIB-MAIL is empty! 2020-01-14 15:56:27,082 DEBUG org.dspace.authenticate.ShibAuthentication @ ShibAuthentication - attribute SHIB-GIVENNAME is empty! 2020-01-14 15:56:27,082 DEBUG org.dspace.authenticate.ShibAuthentication @ ShibAuthentication - attribute SHIB-SURNAME is empty! 2020-01-14 15:56:27,082 ERROR org.dspace.authenticate.ShibAuthentication @ Unable to register new eperson because we are unable to find an email address along with first and last name for the user. NetId Header: 'SHIB-NETID'='null' (Optional) Email Header: 'SHIB-MAIL'='null' First Name Header: 'SHIB-GIVENNAME'='null' Last Name Header: 'SHIB-SURNAME'='null' As can be seen all the SHIB values are null where the Apache log displays the values are being passed through: 129.215.240.168|20200110T153650Z|urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redir ect|_44d64eb1d92d4f9b4833f316c0570b40| https://lac-exams-test.is.ed.ac.uk/shibbol eth| http://shibboleth.net/ns/profiles/saml2/sso/browser|https://idp-test.ucs.ed. ac.uk/idp/shibboleth|urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST|_95975f17b03 <http://ac.uk/idp/shibboleth%7Curn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST%7C_95975f17b03> a755517e8f4ff0104288a|bparkes|urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordPro tectedTransport|eduPersonEntitlement,uid,mail,eduPersonScopedAffiliation,transie ntId,eduPersonTargetedID,displayName,surname,givenName,eduPersonPrincipalName,ed uPersonTargetedID.old|_9904207799d56669626b5dd11f0aea68|_447e062afa10fdecdf98db0 39fd2c551 Would anyone know why this might be as I have looked at the config of Shibboleth, DSpace, & Apache and cannot see anything out of the oridnary. Thanks, Ben On Tuesday, 28 February 2017 09:22:48 UTC, Tom Desair wrote: > > Hi Julie, > > I'm glad I could help and that you have Shibboleth up and running now. > > There is also an (undocumented) property called "default-roles" in which > you can define a set of fallback roles in case no applicable roles were > found for a user. So if you want to assign each user that authenticates > through Shibboleth to the ETDR_AUTO group, you can put this in > the authentication-shibboleth.cfg file: > > default-roles = internal >> role.internal = ETDR_AUTO > > > Best regards, > Tom > > [image: logo] Tom Desair > 250-B Suite 3A, Lucius Gordon Drive, West Henrietta, NY 14586 > Esperantolaan 4, Heverlee 3001, Belgium > www.atmire.com > <http://atmire.com/website/?q=services&utm_source=emailfooter&utm_medium=email&utm_campaign=tomdesair> > > 2017-02-27 20:33 GMT+01:00 J Bell <[email protected] <javascript:>>: > >> >> For future: >> >> I did also figure out being able to add a default group to shibboleth by >> using our domain name rather than affiliations - works great! >> >> >> # The shibboleth header to do role-based mappings >> role-header = email >> >> # Whether to ignore the attribute's scope or value. >> role-header.ignore-scope = false >> role-header.ignore-value = true >> >> # Default mappings of roles values to a comma separated list of DSpace >> group >> # names (Case Sensitive). >> role.xxxx.edu = ETDR_AUTO >> role.xxxx.edu = ETDR_AUTO >> >> >> >> >> >> On Tuesday, February 21, 2017 at 4:51:31 PM UTC-6, J Bell wrote: >>> >>> >>> We are moving to Shibboleth and I am having a problem figuring out where >>> my configuration is not set correctly to allow the actual authentication to >>> occur. This is working in other instances we have running - only dSpace >>> is not yet configured properly. Would anyone have some input as to where >>> I have wandered into the weeds? >>> >>> Notes about our configuration: >>> >>> I have the IDP and my local *SP (shibboleth 2.5.2) * configured and >>> talking as I would expect. >>> >>> We are using *mod_ajp* for the proxy (this did not work under regular >>> proxy either - I have tried both ways). My *shibboleth2.xml* configuration >>> looks like this: >>> >>> <ApplicationDefaults entityID="https://xxx.xxx.net/shibboleth" >>> id="default" policyId="default" >>> REMOTE_USER="eppn persistent-id targeted-id" >>> signing="false" encryption="false" >>> attributePrefix="AJP_"> >>> >>> <Sessions lifetime="28800" timeout="3600" relayState="ss:mem" >>> checkAddress="false" handlerSSL="false" >>> cookieProps="https"> >>> >>> <SSO entityID="https://alpha.signin.xxx.edu/idp/shibboleth" >>> Location="/Login" >>> discoveryProtocol="SAMLDS" discoveryURL=" >>> https://ds.example.org/DS/WAYF"> >>> SAML2 SAML1 >>> </SSO> >>> >>> >>> >>> My *attribute-map.xml* has the following attributes mapped - which >>> come back as expected: >>> >>> <Attribute name="urn:oid:0.9.2342.19200300.100.1.1" id="uid"/> >>> <Attribute name="urn:oid:0.9.2342.19200300.100.1.3" id="email"/> >>> <Attribute name="urn:oid:2.5.4.3" id="cn"/> >>> <Attribute name="urn:oid:2.5.4.4" id="sn"/> >>> <Attribute name="urn:oid:2.5.4.42" id="givenName"/> >>> <Attribute name="urn:oid:2.16.840.1.113730.3.1.241" >>> id="displayName"/> >>> >>> >>> >>> */Shibboleth.sso/Session *returns this: >>> >>> >>> Miscellaneous >>> Session Expiration (barring inactivity): 476 minute(s) >>> Client Address: xxx.xxx.xxx.xxx >>> SSO Protocol: urn:oasis:names:tc:SAML:2.0:protocol >>> Identity Provider: https://alpha.signin.xxx.edu/idp/shibboleth >>> Authentication Time: 2017-02-20T17:31:43.925Z >>> Authentication Context Class: >>> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport >>> Authentication Context Decl: (none) >>> >>> Attributes >>> cn: jbell >>> displayName: Julie Bell >>> email: [email protected] <javascript:> >>> givenName: Julie >>> ksuPersonWildcatId: xxxxxxxx >>> sn: Bell >>> telephoneNumber: xxxxxxxxx >>> uid: jbell >>> >>> >>> After proper authentication the service is returned to: >>> >>> https://test-dspace.xxx.net//dspace/shibboleth-login >>> >>> and: >>> Authentication Failed >>> >>> The* dspace log *responds with this: >>> >>> 2017-02-21 19:42:04,972 INFO >>> org.dspace.app.xmlui.aspect.artifactbrowser.CommunityBrowser @ >>> anonymous:session_id=DDFBE06E3003021B702DF0A1310B4816:ip_addr=xxx.xxx.xxx.xxx:view_community_list: >>> 2017-02-21 19:42:04,973 INFO >>> org.dspace.app.xmlui.aspect.discovery.SidebarFacetsTransformer @ facets >>> for scope, null: 3 >>> 2017-02-21 19:42:05,677 INFO >>> org.dspace.app.xmlui.aspect.artifactbrowser.CommunityBrowser @ >>> anonymous:session_id=DDFBE06E3003021B702DF0A1310B4816:ip_addr=xxx.xxx.xxx.xxx:view_community_list: >>> 2017-02-21 19:42:05,678 INFO >>> org.dspace.app.xmlui.aspect.discovery.SidebarFacetsTransformer @ facets >>> for scope, null: 3 >>> 2017-02-21 19:42:27,872 ERROR org.dspace.authenticate.ShibAuthentication >>> @ Shibboleth authentication was not able to find a NetId, Email, or Tomcat >>> Remote user for which to indentify a user from. >>> 2017-02-21 19:42:27,872 ERROR org.dspace.authenticate.ShibAuthentication >>> @ Unable to register new eperson because we are unable to find an email >>> address along with first and last name for the user. >>> NetId Header: 'null'='null' (Optional) >>> Email Header: 'email'='null' >>> First Name Header: 'givenName'='null' >>> Last Name Header: 'sn'='null' >>> 2017-02-21 19:42:27,872 INFO org.dspace.app.xmlui.utils.AuthenticationUtil >>> @ >>> anonymous:session_id=01CF256229E776009AE83845CF4341A2:ip_addr=xxx.xxx.xxx.xxx:failed_login:email=null, >>> >>> realm=null, result=4 >>> 2017-02-21 19:42:28,444 INFO >>> org.dspace.app.xmlui.aspect.artifactbrowser.CommunityBrowser @ >>> anonymous:session_id=01CF256229E776009AE83845CF4341A2:ip_addr=xxx.xxx.xxx.xxx:view_community_list: >>> 2017-02-21 19:42:28,444 INFO >>> org.dspace.app.xmlui.aspect.discovery.SidebarFacetsTransformer @ facets >>> for scope, null: 3 >>> >>> The *shibboleth* log responds with: >>> >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: New session (ID: >>> _7aa0bd831d4bbfd9e852e1d24414b924) with (applicationId: default) for >>> principal from (IdP: https://alpha.signin.xxx.edu/idp/shibboleth) at >>> (ClientAddress: xxx.xxx.xxx.xxx) with (NameIdentifier: >>> _19a0b33cc94439c79fc401cf9cc63200) using (Protocol: >>> urn:oasis:names:tc:SAML:2.0:protocol) from (AssertionID: >>> _147bb17c58c8c230f513f12d154c3489) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: Cached the >>> following attributes with session (ID: _7aa0bd831d4bbfd9e852e1d24414b924) >>> for (applicationId: default) { >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: uid (1 values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: displayName (1 >>> values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: sn (1 values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: givenName (1 >>> values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: cn (1 values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: email (1 values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: telephoneNumber >>> (1 values) >>> 2017-02-21 22:37:17 INFO Shibboleth-TRANSACTION [2]: } >>> >>> >>> >>> *Apache 2.4.25 configuration* looks like: >>> >>> <ifModule mod_shib> >>> UseCanonicalName On >>> <Location /> >>> AuthType Shibboleth >>> ShibRequireSession Off >>> Require shibboleth >>> </Location> >>> <Location "/shibboleth-login"> >>> AuthType shibboleth >>> ShibRequireSession On >>> # Require shib-user ~ ^.+@(xxx|yyy)\.edu$ (was trying this >>> out but it did not work either) >>> Require valid-user >>> </Location> >>> <Location "/Shibboleth.sso"> >>> Require all granted >>> SetHandler shib >>> </Location> >>> </IfModule> >>> >>> this is also in the configuration file, just below this stanza: >>> >>> ProxyPass /Shibboleth.sso ! >>> ProxyPass / "ajp://localhost:8009/" >>> >>> >>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "DSpace Technical Support" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/dspace-tech. >> For more options, visit https://groups.google.com/d/optout. >> > > -- All messages to this mailing list should adhere to the DuraSpace Code of Conduct: https://duraspace.org/about/policies/code-of-conduct/ --- You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/1e81a1e8-ec2c-44ea-bb4b-894ae9a052a3%40googlegroups.com.
