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

Track Level Permissions #948

Open
enuggetry opened this issue Dec 20, 2017 · 5 comments
Open

Track Level Permissions #948

enuggetry opened this issue Dec 20, 2017 · 5 comments
Labels
feature req this adds new functionality to JBrowse 1

Comments

@enuggetry
Copy link
Contributor

Adding track-level permissions to JBrowse tracks in Apollo and JBrowse directly.

Item 8 in GMOD Hackathon http://gmod.org/wiki/2018_PAG_Hackathon

Ref: GMOD/Apollo#17

This feature that is generally already capable to some extent by JBServer which:

  1. has a policy engine that can restrict access to assets per users (passportjs-based)
  2. restricts track access to admins. The demo shows REST access to tracks that can be restricted by policy. However, the demo and the GUI do not demonstrate this to the it's full potential.

However, what is there is a cursory implementation (a proof of concept) that lacks robustness.

What is needed is a discussion of the extent of the implementation and how it should be perceived from the client perspective.

I imagine there might need to describe the following:
a) policies for user groups with access to track groups.
b) client-side handling of inaccessible assets; plus an asset manager interface
c) client-side response.
d) JBServer uses passportjs, which can be adapted to various auth frameworks.

I invite you to describe your use cases.

@enuggetry
Copy link
Contributor Author

I propose that such policies can be implemented and applied by way of jbh- hook model (which can be npm-installed), as defined by JBServer's extensible hook framework. This enables a flexible policy model that can be interchangeable with other models or extensible by additional hooks (plugins).

@rbuels rbuels added the feature req this adds new functionality to JBrowse 1 label Jan 28, 2018
@FredericBGA
Copy link
Contributor

It would be so great to retrieve the GGB behavior

[5_prime_RACE]
glyph = generic
feature = RACE:5_prime
restrict = require user fred joseph andrea marta

and of course restrict = require group also

@rdhayes
Copy link
Contributor

rdhayes commented Jun 6, 2018 via email

@FredericBGA
Copy link
Contributor

@rdhayes thank you for your help.
But it does not fit all I need. I think that with an .htaccess file, the track will be still displayed, I would like to hide it (user1 should not see that user2_private_track exists !)
And with the current index (generate_names.pl) even if track data can not be displayed, I'm afraid that user 1 will be able to guess user2_private_track content

@cmdcolin
Copy link
Contributor

@FredericBGA You can potentially use the system of "includes" and include private tracks in a different privateTracks.json and then add "include": ["privateTracks.json"]

http://gmod.org/wiki/JBrowse_Configuration_Guide#General_configuration_options

Then only the authorized user would have successful inclusion of those private track configs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature req this adds new functionality to JBrowse 1
Projects
None yet
Development

No branches or pull requests

5 participants