rdmorganiser / rdmorganiser/rdmo
RDMO should act as Oauth2 provider
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 133
- Forks
- 60
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 21
Description
Rationale / Begründung
Right now, RDMO Plugins can use OAuth2 (as client) to interact with external services like Zenodo, RADAR, or GitHub. In order for other tools to interact with RDMO in a similar way (e.g. to deposit information), it RDMO needs to be able to act as a Oauth2 Authorization Server and Resource Server (see https://de.wikipedia.org/wiki/OAuth).
Affected
Users
Minimal functionality
RDMO instances can register client "apps" with a client id, client secret and redirect url (preferable in the settings) and those clients use OAuth2 to obtain Access/Refresh Tokens to use the RDMO API on behalf of the logged in user.
References / Verweise
- https://github.com/jazzband/django-oauth-toolkit looks pretty good
- https://github.com/caffeinehit/django-oauth2-provider looks not as active
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No implementation files or tests are named; begin by reviewing RDMO's existing API, settings, and plugin OAuth2-client integration, then compare django-oauth-toolkit with the linked OAuth references. Done means clients can be registered with credentials and redirect URLs, obtain access and refresh tokens for logged-in users, and use them with the RDMO API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- api, authentication, authorization, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100