Skip to content
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

Shibboleth: make use of redirectPage logic for shib users #1551

Closed
pdurbin opened this issue Mar 2, 2015 · 18 comments
Closed

Shibboleth: make use of redirectPage logic for shib users #1551

pdurbin opened this issue Mar 2, 2015 · 18 comments

Comments

@pdurbin
Copy link
Member

pdurbin commented Mar 2, 2015

"Implement redirect logic for when a user logs in or signs up when they aren't on the homepage" was developed in #869 but only builtin users benefit from it. It would be nice if Shibboleth users got the same feature.

For Shibboleth, we'd need to pass the "redirectPage" parameter and value (i.e. redirectPage=%2Fdataverse.xhtml) to the Shib Identity Provider (IdP) and have the IdP return it to us.

@pdurbin
Copy link
Member Author

pdurbin commented Apr 14, 2015

I mentioned what I think will be the fix at http://irclog.perlgeek.de/shibboleth/2015-04-14

I'll have to figure out how to get the redirect value and pass it here:

this.defaultReturn = window.location.protocol + "//" + window.location.hostname + "/Shibboleth.sso/Login?SAMLDS=1&target=" + window.location.protocol + "//" + window.location.hostname + "/shib.xhtml";

@scolapasta scolapasta modified the milestones: Candidates for 4.0.1, Candidates for 4.0.2 May 29, 2015
@scolapasta scolapasta modified the milestones: Candidates for 4.0.2, In Review Jul 2, 2015
@pdurbin pdurbin removed their assignment Jan 21, 2016
@scolapasta scolapasta removed this from the Not Assigned to a Release milestone Jan 28, 2016
@pdurbin
Copy link
Member Author

pdurbin commented Mar 4, 2016

@scolapasta I have this issue marked as "out of scope" right now for #2939 but I've mentioned to @mheppler that I'd take a look. Can I pick your brain about the code? I'm attaching a diff for the area of the code I'm messing with. The diff contains hard-coded values but when we do this for real we'd need to get the values from the backing bean and put them somehow in the Javascript. Anyway, here's the diff:
diff.txt

@pdurbin
Copy link
Member Author

pdurbin commented Oct 22, 2016

This week in the "2016-10-18 Meeting and demo about OAuth and ORCID login" notes at https://docs.google.com/document/d/1Lja6sqG0Ljg2Q6suoMJbYr3J01DTpw6HkgvRwdbEDXQ/edit?usp=sharing I mentioned that ideally we'd also let ORCID users make use of the redirect logic that local users benefit from. In the code local users are called "builtin" users.

@donsizemore
Copy link
Contributor

Odum received a request for this functionality; bumping on behalf of Carleton College.

@pdurbin
Copy link
Member Author

pdurbin commented Jan 19, 2017

@donsizemore thanks for the feedback. Perhaps this could be addressed at the same time as #3486.

@pdurbin
Copy link
Member Author

pdurbin commented Apr 19, 2017

We had what I thought was a nice solution in place in pull request #3539 but we backed out of it in 3f03f6f.

Last week @thegaryking mentioned he's interested in a fix.

A couple days ago @aivanov100 posted about an approach that works for their installation which is Shibboleth-only: https://groups.google.com/d/msg/dataverse-dev/SaVf172LQ4o/jb3AOqyvBAAJ . Here's the diff he included which is worth studying at least, even if it's not a drop-in solution: shib_login_links.diff.txt

@sudoflyy
Copy link

sudoflyy commented Apr 24, 2017

@pdurbin my approach is specific to our implementation in that we do not want our users to use the IdPSelect dropdown to login. We are not configuring a Federated IdP, we are just trying to trick our users into thinking that our Drupal site and our Dataverse site are two different parts of the same site. For both Drupal and Dataverse, we've overwritten the Login links to point directly to our IdP login page. The redirectPage parameter is set in the url query string, so the user is successfully brought back to the page they were on when they clicked Login. However, our approach would not work if logins from multiple IdPs were supported and the IdPSelect dropdown was involved in the login process.

Best,
Alex

@pdurbin
Copy link
Member Author

pdurbin commented Apr 24, 2017

@aivanov100 ok, so your approach isn't generalizable. That's fine. Thanks.

@donsizemore
Copy link
Contributor

Odum received another request for this functionality; bumping on behalf of East Carolina University.

@pdurbin
Copy link
Member Author

pdurbin commented May 22, 2017

@donsizemore thanks. Speaking of bumping, please note that as of last week we have introduced a new column in https://waffle.io/IQSS/dataverse called "Inbox" where this issue currently lives. Here are the definitions:

  • Inbox: Any open issues automatically show up in this column.
  • Backlog: Prioritized list of items for future sprints
  • This Sprint: The items for the next sprint.
  • etc

Here's how it looks:

screen shot 2017-05-22 at 11 11 43 am

You are welcome to leave comments but I hope this helps explain the process. 😄

@kcondon
Copy link
Contributor

kcondon commented Jun 9, 2017

Boston College also asked about it: RT 249556

@donsizemore
Copy link
Contributor

Tested on dataverse-test.irss.unc.edu - works as advertised.

@pdurbin
Copy link
Member Author

pdurbin commented Jun 14, 2017

Pull request #3910 looks good! Thanks, @aivanov100 for making it and @donsizemore for testing it!

@pdurbin
Copy link
Member Author

pdurbin commented Jun 20, 2017

@kcondon noticed that pull request #3910 was behind develop so I just created pull request #3929 which is the same code (commits by @aivanov100 and @oscardssmith) but with the latest from develop merged in.

@kcondon kcondon self-assigned this Jun 20, 2017
@kcondon kcondon closed this as completed Jun 20, 2017
@djbrooke djbrooke added this to the 4.7 - Dashboard and Customization milestone Jun 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants