openedx / openedx/edx-rest-api-client

Write an ADR for use of a user's JWT now that EdxApiRestClient has been removed

Open
#277 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
Python
Stars
23
Forks
18
PR merge metrics
No merged PRs in 30d

Description

During the DEPR of EdxApiRestClient, some cases were replaced with plain requests object code, rather than using the updated OAuth client, using the user's JWT for service-to-service calls.

TODO: Find an example link of this change from the DEPR work.

The original intention of the new client was intentionally not to add this functionality to the new client, because it was thought that the client credentials token should be used instead of the user's JWT.

  • We should have an ADR that clarifies when and if using the user's JWT is appropriate.
    • We might potentially enhance the existing client if we wish to allow for other ways of using it.
  • Note: The new client also provides shared observability code, but is lost when using the requests code directly without a client.
  • The Authentication OEP should also link to this ADR.

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

Start with the DEPR work in public-engineering issue 189 and the Authentication OEP, then identify the plain requests cases that use a user's JWT. Done means an ADR clarifies when that usage is appropriate, considers whether the OAuth client should support it, and is linked from the Authentication OEP.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, documentation, security
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.