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

Decide which user roles there should be #47

Closed
stefandesu opened this issue Mar 5, 2019 · 5 comments
Closed

Decide which user roles there should be #47

stefandesu opened this issue Mar 5, 2019 · 5 comments
Labels
feature Additional functionality question Further information is requested

Comments

@stefandesu
Copy link
Member

Related to #44.

We need to think about which kinds of user roles make sense for jskos-server and what each role is allowed to do.

@stefandesu stefandesu added the question Further information is requested label Mar 5, 2019
@nichtich
Copy link
Member

nichtich commented Mar 5, 2019

I'd call the fine-grained rights "scopes" because we may later introduce scoped tokens to jskos-server. Roles may be defined on top of these scopes

Some scopes to start with: (not taking into account right access because all content is readable by anyone for simplicity):

  • write_mappings : create, modify, and delete your own mappings
  • admin_mappings: modify and delete all mappings
  • write_annotations : create, modify, and delete your own annotations
  • admin_annotations: modify and delete all annotations

stefandesu added a commit that referenced this issue Mar 5, 2019
Currently, user roles/scopes are not supported (see #47). Any user can save a mapping/annotation, but can only edit/delete their own mappings/annotations.
@stefandesu
Copy link
Member Author

I'm not sure about scoped tokens (because I feel like it would make the whole process even more complicated if jskos-server had its own tokens), but I agree about using scopes and roles as a collection of scopes.

@nichtich
Copy link
Member

Scoped tokens might not be required but I'd still call the rights "scopes". We we'll then have

  • identities (individual identity URIs such as https://orcid.org/0000-0002-7613-4123)
  • identity providers (orcid, github, ldap-vzg...)
  • scopes (write_mappings, write_annotations, write_concordances...)
  • roles (can be configured freely in addition to some hard-coded roles)

Both identities (only selected users) and identity providers (all users that have an identity from selected providers) can be used to define roles (e.g. orcid => "editor"). Each role has a list of scopes.

As discussed at #48 there is a special user role "self" that only applies in relation to your own records, this makes it a bit more complex. Maybe there is an easier way to model this.

@stefandesu
Copy link
Member Author

For #48, we would need a separate config file (in JSON format) in addition to the .env file anyway, so the role definitions can be added there.

stefandesu added a commit that referenced this issue Mar 12, 2019
@stefandesu stefandesu added the feature Additional functionality label Mar 13, 2019
@stefandesu stefandesu added this to the 0.5.0 milestone Mar 13, 2019
@nichtich nichtich modified the milestones: 1.2.0, 1.3.0 Sep 4, 2019
stefandesu added a commit that referenced this issue Nov 1, 2019
Note that this is a temporary implementation and can be replaced without notice! In particular, it will be replaced as soon as user roles etc. (i.e. #47) are implemented.
@stefandesu stefandesu modified the milestones: 1.3.0, 2.2.0 Jun 15, 2020
@stefandesu stefandesu removed this from the 1.7.0 milestone Apr 5, 2023
@nichtich
Copy link
Member

@stefandesu this can be closed, no? It seems to predate current way of configuration of actions.

@stefandesu stefandesu closed this as not planned Won't fix, can't repro, duplicate, stale Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Additional functionality question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants