-
Notifications
You must be signed in to change notification settings - Fork 495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implemented passive authentication support for Shibboleth #3762
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)