cloudfoundry / cloudfoundry/uaa

Improve JWT bearer usage - deprecate password grant

Open
#3,285 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

expected behavior
Dominant language
Java
Stars
1.6k
Forks
844
Avg merge
2d 5h
Merged PRs (30d)
27

Description

Why: password grant should be deprecated, because it is not part of newer OAuth or OIDC standards, e.g. https://oauth.net/2.1/
There is a RFC https://datatracker.ietf.org/doc/html/rfc9700#section-2.4 which states

The resource owner password credentials grant [[RFC6749](https://datatracker.ietf.org/doc/html/rfc6749)] MUST NOT be used.

For user interactive login or principal propagation we support the passcode login a way to omit passwords. For pure technical usages there is token based authentication with private_key_jwt (or later mtls) in client_credentials flows.

However, there are mixed scenarios, where technical scenarios need a user. Github action is a good example but there could be other scenarios, typically business scenarios, where a user principal propagation should be supported, but there is no user interactive login.

JWT bearer and generic token exchange can solve the problem, but in CF is it not easy to adopt JWT bearer and for the generic token exchange we have no support yet, e.g. https://www.rfc-editor.org/rfc/rfc8693.html .

This issue should collect and solve the problem, step by step.

Request a RFC from CF TOC https://github.com/cloudfoundry/community/pull/1085

Contributor guide

No contributing guide indexed for this repository

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, tests, or entry points are named. Start by reading the linked OAuth 2.1, RFC 9700, and RFC 8693 material and the referenced Cloud Foundry RFC request; a useful outcome would require a defined, stepwise scope for JWT bearer or token exchange support and explicit completion criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authentication, backend-api-design, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.