spring-projects / spring-projects/spring-security
Support JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.6k
- Forks
- 6.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 52
Description
Expected Behavior
There is a new IETF specification for JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens which has already been approved by the IESG and will be published as final RFC very soon.
This specification aims to provide a standardized and interoperable profile as an alternative to the proprietary JWT access token layouts going forward.
This adds the following details for compliant JWT access tokens:
- JWT access tokens MUST include "at+jwt" in the "typ" header parameter to explicitly declare that the JWT represents an access token
- JWT access tokens require at least the following claims: iss, exp, aud, sub, client_id, iat, jti
- Claims for Authorization are standardized using "roles", "groups", "entitlements" as defined in RFC7643
At least, it should be configurable to issue JWT access tokens supporting this new standardization effort.
Current Behavior
Currently, JWT access tokens issued are not following/supporting this new specification
Context
Note: I also added an issue to the spring security project (https://github.com/spring-projects/spring-security/issues/10272) for documenting the required configuration to validate such tokens as part of the reference docs.
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 files, tests, or entry points are named in the issue. Begin by tracing Spring Security's JWT access-token issuance and configuration against the linked IETF profile; done means a configurable implementation emits the required typ and claims, including standardized authorization claims.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- authentication, authorization, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100