kit-data-manager / kit-data-manager/pit-service
Add different keycloak access roles
- Dominant language
- Java
- Stars
- 3
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
With JWT and KeyCloak we can differentiate between roles of users. Currently, we only use it to allow access or to deny it. Preliminary plan:
## Management Endpoints
- everybody sees info and basic health (up or down)
- authenticated users see in addition complete health
- special roles also see other actuators, e.g., beans, loggers, configuration properties
References:
- see also [this discussion](https://github.com/kit-data-manager/metastore2/pull/187/files/65db847d615e50b1689a37c1bd281348cc88944e#r1094421066)
- [Management Endpoint Config Documentation in MetaStore2](https://github.com/kit-data-manager/metastore2/blob/2a68830e94a9535c52e71d47c1c42b2e3be8b9a9/settings/application-default.properties#L99)
## Typed PID Maker API
Different roles (preliminary names) for:
- Creating PIDs (role_creator)
- Updating/curating PIDs (role_curator)
- Resolving functionalities (role_researcher)
- Validation functionalities (role_creator, role_curator, role_validator, role_researcher)
The validator role may be unnecessary. I considered if there may be applications that will need validation, but not resolving (which makes them different from the researcher role). And I guess being a little more granular does not hurt (thinking about the history of the Android operating system, for example). But detailed evaluation on this will follow.
## ToDos
- [ ] Detailed planning and evaluation
- [ ] implementation & testing
- [ ] Documentation in README and on the portfolio webpage
Contributor guide
Research direction
Start with the linked discussion and the MetaStore2 application-default.properties management endpoint configuration. Review the proposed management endpoint visibility and Typed PID Maker roles, then establish the detailed plan before implementation and testing. Done includes agreed role behavior, tests, and updates to the README and portfolio webpage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- api, authorization, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100