Hi, Julie -

I'm experiencing the exact same issue, using DSpace 6.3.

What specifically did you change in the httpd.conf to stop the redirection 
following the handoff back to Apache from the IdP?

Thanks in advance for your assistance,

- Dave

On Thursday, February 23, 2017 at 8:22:35 PM UTC-5 jbel...@gmail.com wrote:

>
> I have shibboleth now working.  Adding this line 
>  "log4j.logger.org.dspace.authenticate.ShibAuthentication=DEBUG” was the 
> biggest help.  Maybe should be more prominent in the documentation :)  
>
> Your testing suggestions found the problem in our httpd.conf which forced 
> a redirect to the /dspace directory after it came back from the IdP.  Still 
> have the double slashes  in the string.  That is actually created here 
> (probably another configuration issue further up the line)  - using the 
> Login function from the main page and not by any redirect or addition by 
> apache:
>
> 2017-02-23 15:48:48,738 DEBUG org.dspace.authenticate.ShibAuthentication @ 
> Redirecting user to Shibboleth initiator: 
> /Shibboleth.sso/Login?target=https%3A%2F%2Ftest-dspace.ksulib.net
> %2F%2Fdspace%2Fshibboleth-login
>
> Couple of notes here though…with things working:
>
> 1.  I was never able to get /shibboleth-login to the IdP with out tomcat 
> running.
> 2.  This change created errors in Apache preventing start:
>
> configtest = ShibRequireSession must be On or Off, so I went back to the 
> On | Off
>
>
>    
>
>    - Replace "ShibRequireSession On" by "ShibRequestSetting 
>    requireSession 1"
>
>
>    - Replace "ShibRequireSession Off" by "ShibRequestSetting 
>    requireSession 0”
>
> I do have one other question.  Is there any way to set all users to a 
> specific group after login rather than Anonymous?  In LDAP we were able to 
> set the default group as such:
>
> login.specialgroup = ETDR_AUTO
>
> I was thinking worse case -  use the affiliation and set all the roles to 
> the group.  I was looking at the scripting functions and could go that way 
> later. 
>
> Thank you again!
>
> On Feb 22, 2017, at 2:57 PM, Tom Desair <tom.d...@atmire.com> wrote:
>
> Can you enable debug logging for Shibboleth in DSpace by adding this line 
> "log4j.logger.org.dspace.authenticate.ShibAuthentication=DEBUG" to 
> the config/log4j.properties file and retry with the following settings:
>
>    - Use AJP
>       - Make sure to have attributePrefix="AJP_" in your 
>       ApplicationDefaults element
>       - Make sure to proxy to the AJP connector with a buffer that is 
>       large enough:
>          - We always use
>             - ProxyPass / ajp://localhost:8009/ retry=0
>             - ProxyPassReverse / ajp://localhost:8009/
>             - ProxyIOBufferSize 65536
>             - Make sure the connector is enabled in the Tomcat server.xml 
>          file and supports UTF-8 encoding and large packages:
>             - <Connector port="8009" protocol="AJP/1.3" 
>             redirectPort="8443" URIEncoding="UTF-8" packetSize="65536"/>
>             - Secure the correct location
>       - If you run DSpace under the root of your server, make sure this is
>          - <Location "/shibboleth-login">
>          - If you run DSpace under the the URL "/dspace", the location 
>       should be
>          - <Location "/dspace/shibboleth-login">
>          - Make sure there are no double slashes in the redirect URL your 
>       browser receives (which is the case in your first example).
>    - Since you are using Apache 2.4 and Shibboleth 2.5, please replace 
>    the following in your Apache configuration:
>       - Replace "ShibRequireSession On" by "ShibRequestSetting 
>       requireSession 1"
>       - Replace "ShibRequireSession Off" by "ShibRequestSetting 
>       requireSession 0"
>    - You can leave the values for lazysession.secure and the DSpace netid 
>    and email header settings as you configured them.
>
> Can you also test this:
>
>    - Shutdown tomcat and visit <dspace-url>/shibboleth-login after 
>    closing all browser windows. This should take you to your IdP login page 
>    even if DSpace is not running.
>    - Have you tried without AJP and using "ShibUseHeaders On" (note that 
>    this is less secure and not recommended, but it would still be interesting 
>    to know if this works).
>
> I'm interested to see what the DSpace logs show when you execute these 
> tests. Please also provide some information on the redirect URLs you are 
> seeing.
>
>  
> [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-22 16:24 GMT+01:00 Jbell KSU Gmail <jbel...@gmail.com>:
>
>>
>> Thank you for the reply - but that did not solve the problem.  I have the 
>> same response in all the logs as prior to the change.  
>>
>> I did try several variations on that theme but still have not hit the 
>> right combination yet.  Further information that I missed last night:
>>
>> Running dSpace 5.4
>>
>> # Whether to use lazy sessions or active sessions.
>> lazysession = true
>>
>> *Does this need to change?*
>>
>> # The url to start a shibboleth session (only for lazy sessions)
>> lazysession.loginurl = /Shibboleth.sso/Login
>>
>> # Force HTTPS when authenticating (only for lazy sessions)
>> lazysession.secure = true
>>
>>
>> and my question is this the correct netid-header for this configuration?  
>>
>> #email-header = SHIB-MAIL
>> netid-header = uid
>> email-header = email
>> email-use-tomcat-remote-user = false
>>
>>
>>
>> On Feb 22, 2017, at 2:16 AM, Tom Desair <tom.d...@atmire.com> wrote:
>>
>> Hi Julie,
>>
>> The key here is the Apache configuration section
>>
>>> <Location "/shibboleth-login"> 
>>>          AuthType shibboleth
>>>          ShibRequireSession On
>>>          Require valid-user
>>> </Location>
>>
>>
>> This tells the Apache Shibboleth daemon to require a Shibboleth session 
>> when visiting "/shibboleth-login" and to provide all mapped attributes to 
>> the Tomcat application server. For all other URL endpoints, Shibboleth will 
>> not forward the attributes.
>>
>> However, your DSpace instance is not running under root but under 
>> "/dspace". I conclude this from the fact that you receive a redirect to "
>> https://test-dspace.xxx.net//dspace/shibboleth-login";. This means you 
>> have to adjust the Apache configuration to secure that location instead. 
>>
>> So your problem should be solved when you change "<Location 
>> "/shibboleth-login">" to "<Location "*/dspace*/shibboleth-login">". Can 
>> you please try that and let me know if that works?
>>
>> 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-21 23:51 GMT+01:00 J Bell <jbel...@gmail.com>:
>>
>>>
>>> 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: jb...@xxx.edu
>>> 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.Au 
>>> <http://org.dspace.app.xmlui.utils.au/>thenticationUtil @ 
>>> 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 dspace-tech+unsubscr...@googlegroups.com.
>>> To post to this group, send email to dspace-tech@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/dspace-tech.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> -- 
>> 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 dspace-tech+unsubscr...@googlegroups.com.
>> To post to this group, send email to dspac...@googlegroups.com.
>> 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 dspace-tech+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dspace-tech/c0830700-f8c6-41bf-95d8-8781da3fb0edn%40googlegroups.com.

Reply via email to