-
Notifications
You must be signed in to change notification settings - Fork 532
Login page and Shibboleth auth refactored to work with new InCommon services #11502
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
Merged
Merged
Changes from 12 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
64281c7
Quick changes stripping the extra idp select components #11404
landreev 409f98d
hard-coded (working?) experiments #11404
landreev dbced9e
added a working implementation of populating the affiliation field w/…
landreev 16c0055
This is a working implementation of shibboleth logins by means of the…
landreev b48a228
removed unused imports #11404
landreev a490c39
checking in the final implementation of the new Shibboleth components…
landreev fbc1187
checking in the new sample shibboleth2.xml file modified to match the…
landreev c0ecc47
A quick change for the shibboleth installation guide clarifying that …
landreev 888cd15
Merge branch 'develop' into 11404-shib-login-mdq
landreev 5315252
cosmetic #11404
landreev 902a6e5
dropped the parts of the <MetadataProvider> config that are not neede…
landreev 4ecb090
tweaks to docs #11404
pdurbin daf1b1d
Refactored the new WayFinder/MDQ implementation the other way around,
landreev 8eac72b
Rewrote the release note and the doc. entries, making the "classic", …
landreev b61e09c
cosmetic #11404
landreev 8227650
Update doc/release-notes/11404-shibboleth-mdq-wayfinder.md
ofahimIQSS ae9e59a
Update doc/release-notes/11404-shibboleth-mdq-wayfinder.md
ofahimIQSS 4b50330
Merge branch 'develop' into 11404-shib-login-mdq
landreev 44390ff
A url encoding fix. #11404
landreev 055f32f
an extra redirect-fixing hack #11404
landreev 4b156c1
Update src/main/webapp/loginpage.xhtml
landreev 8fbef19
Merge branch '11404-shib-login-mdq' of https://github.com/IQSS/datave…
landreev ec397eb
further experiments making the new shib page prettier #11404
landreev 1a967b8
cosmetic touches/help text for the new shib login page. #11404
landreev b43f889
an extra comma in the help blurb #11404
landreev a507380
Merge branch 'develop' into 11404-shib-login-mdq
landreev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| ### For Dataverse instances using Shibboleth | ||
|
|
||
| Since the old-style federation metadata feed was discontinued by InCommon, the Shibboleth login components have been re-implemented to utilize the recommended replacements: the MDQ protocol and the WayFinder service. From now on, this will be the default behavior of the login page for shib. users. Dataverse instances using Shibboleth as members of the InCommon federation will need to modify their shibd configuration and, possibly, their registration with Incommon. See the upgrade instruction for details. | ||
|
|
||
| It is also possible for a Dataverse instance to continue using the old login page mechanism (the most likely use case for this would be if you are using Shibboleth without being part of InCommon, for example, by running shibd with a static list of known metadata providers). In this case, set the feature flag `dataverse.feature.shibboleth-use-discofeed=true` to preserve the legacy workflow as is. | ||
|
|
||
| ### New Settings | ||
|
|
||
| - dataverse.feature.shibboleth-use-discofeed | ||
| - dataverse.feature.shibboleth-use-localhost | ||
|
|
||
| ### For the Upgrade Instruction: | ||
|
|
||
| If your instance is offering institutional Shibboleth logins as part of the InCommon federation, you must make some changes to your service configuration. | ||
|
|
||
| a. Configure your Service Provider (SP) in the InCommon Federation Manager to use WayFinder following [their instructions](https://spaces.at.internet2.edu/display/federation/how-to-configure-service-to-use-wayfinder). | ||
|
|
||
| b. Reconfigure your locally-running `shibd` service to use WayFinder and the new MDQ metadata retrieval protocol. | ||
| Download and place the new [production signing key](https://spaces.at.internet2.edu/display/MDQ/production-mdq-signing-key) in `/etc/shibboleth` and name it `inc-md-cert-mdq.pem`. | ||
| Change the `SSO` and `MetadataProvider` sections of the `/etc/shibboleth/shibboleth2.xml` configuration file as follows: | ||
|
|
||
| ``` | ||
| <SSO discoveryProtocol="SAMLDS" discoveryURL="https://wayf.incommonfederation.org/DS/WAYF"> | ||
| SAML2 SAML1 | ||
| </SSO> | ||
| ``` | ||
| and | ||
| ``` | ||
| <MetadataProvider type="MDQ" id="incommon" ignoreTransport="true" cacheDirectory="inc-mdq-cache" | ||
| maxCacheDuration="86400" minCacheDuration="60" baseUrl="https://mdq.incommon.org/"> | ||
| <MetadataFilter type="Signature" certificate="inc-md-cert-mdq.pem"/> | ||
| <MetadataFilter type="RequireValidUntil" maxValidityInterval="1209600"/> | ||
| </MetadataProvider> | ||
| ``` | ||
| See [How to configure a Shibboleth service provider (SP) to use MDQ](https://spaces.at.internet2.edu/display/MDQ/how-to-configure-shib-sp-to-use-mdq) for more information. | ||
|
|
||
|
|
||
| If your Dataverse instance is using Shibboleth without being a member of the InCommon federation, you can preserve your working configuration as is and configure Dataverse to continue using the old-style login workflow by setting the feature flag `dataverse.feature.shibboleth-use-discofeed=true`. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -213,7 +213,7 @@ public String init() { | |
| } else { | ||
| return permissionsWrapper.notAuthorized(); | ||
| } | ||
|
|
||
| return ""; | ||
| } | ||
|
|
||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
http://localhostis hard coded here and in the shibservicebean (within the stringhttp://localhost/Shibboleth.sso/DiscoFeed). Shouldhttp://localhostbe factored into a common location? Shouldhttps://localhost(https instead of http) be an option?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 actually needs to be
http:, nothttps:- since that will result in a failure if called from Java, since the ssl certificate is not going to be valid forlocalhost. And this in turn was the main reason why I chose not to make this the default behavior, since callinghttp://localhost/Shibboleth.sso/DiscoFeedwould not work on an instance that followed our recommendations for the Apache configuration. I.e., things would break for most Shibboleth-using instances without a configuration change - and, seeing how this localhost gimmick is extremely unlikely to be needed by any instance other than ours, I absolutely wanted to avoid that.