Implemented passive authentication support for Shibboleth#3762
Implemented passive authentication support for Shibboleth#3762kcondon merged 2 commits intoIQSS:developfrom sudofly-ai:develop
Conversation
pdurbin
left a comment
There was a problem hiding this comment.
It would be nice to document this new setting but QDR might be the only ones using it for now. We could always document it later.
| /** | ||
| * Whether Shibboleth passive authentication mode is enabled | ||
| */ | ||
| ShibPassiveLoginEnabled; |
There was a problem hiding this comment.
Ideally, you'd document this new database setting so that it appears (near the bottom) of a future version of http://guides.dataverse.org/en/4.6.1/installation/config.html#database-settings
|
We talked about this in standup 4/11 and everyone is fine with the code review from @pdurbin here. Moving to QA. |
|
@aivanov100
I was able to see isPassive.js passed when set to true and not when false. However, I thought I'd read something about enabling lazy sessions. |
|
@kcondon yes, your basic configuration for testing this feature is correct I would just add that there is an additional configuration change that should be made at the Service Provider level to improve error-handling for passive authentication. It is documented here: The Shibboleth wiki suggests two approaches: For our QDR implementation I tried both approaches. Although Approach B is simpler to configure, I found that it did not work well in practice. With this configuration, an anonymous user to our Drupal site would be directed to the IdP and then re-directed back to the Drupal path https://stage.qdr.org/?q=shib_login/home instead of being re-directed to the original page that was requested. Also, for some reason an anonymous user to our Dataverse site would be re-directed to the IdP login page and not re-directed back to Dataverse at all, which is not the intended effect because the anonymous user should not see the IdP login page until they attempt to access content that requires a login. Due to these shortcomings of Approach B I decided to use Approach A. I set the redirectErrors attribute equal to the Drupal homepage url for the Drupal configuration, and the Dataverse homepage url for the Dataverse configuration. I'm using an ApplicationOverride in our shibboleth2.xml configuration, so it looks something like this: |
…boleth passive login feature
|
Thanks, verified isPassive.js is passed when enabled, unauthorized access to pages is still prevented. |
Related Discussion Thread:
https://groups.google.com/forum/#!topic/dataverse-community/Fc0wC4fLyeI
Pull Request Checklist (needs review)