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

Share output publicly over a one-time download link to overcome authentication barriers #95

Closed
proycon opened this issue Nov 9, 2020 · 1 comment

Comments

@proycon
Copy link
Owner

proycon commented Nov 9, 2020

When chaining webservices (#52), it may not be possible for service A to directly upload files to service B because of an authentication barrier that requires the user to login. Ideally, the user has authenticated for service A and service A can do user delegation to service B, on the users behalf, but this infrastructure is not yet mature in CLARIAH and requires all services to be part of the same federated authentication network.

Given that this is not the case yet, we need an alternative solution that works regardless of what authentication scheme is being used. The mechanism I propose works as follows:

  • The user indicates he wants to forward (certain/all) output from webservice A to webservice B
  • The output from webservice A is made available through an temporary unauthenticated download link containing a random component, a redirect link to webservice B is composed that contains this backlink as a component and is passed back to the user as a redirect (HTTP 302).
  • The user (automatically) invokes webservice B through the redirect link.
  • The user logs in manually using whatever scheme webservice B uses.
  • Webservice B invokes the backlink to download the data from webservice A. After which, the backlink ceases to function.

This should not pose a security risk as long as all traffic is properly encrypted (HTTPS). It requires that certain endpoints of a webservice are exempt from authentication, which is already the case for CLAM, but may require some special attention in case there is extra authentication middleware involved.

@proycon
Copy link
Owner Author

proycon commented Nov 24, 2020

  • - Implement support for this in the generic ForwardViewer class

proycon added a commit that referenced this issue Nov 25, 2020
proycon added a commit that referenced this issue Nov 30, 2020
…mplemented the ability to share more persistently + some fixes. #95
proycon added a commit that referenced this issue Jan 7, 2021
…will be deleted afterwards (this is not ideal) #95
proycon added a commit that referenced this issue Jan 7, 2021
…st for the new storage functionality in general #95
@proycon proycon added ready and removed in progress labels Jan 7, 2021
@proycon proycon closed this as completed Jun 22, 2021
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

1 participant