rdmorganiser / rdmorganiser/rdmo

RDMO should act as Oauth2 provider

Open
#1,308 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

effort:moderate type:feature-request
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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.