RFC Start Date
2023-08-14
Target Plan Accepted Date
2023-08-18
Target Transition Unblocked Date
Ready now:
- As of Ulmo (or earlier), the backends no longer require the
USE-JWT-COOKIE header, except in CORS_ALLOW_HEADERS.
- The frontends can stop sending the header now.
Not yet ready:
- The backends are not yet ready for clean-up from
CORS_ALLOW_HEADERS.
Earliest Breaking Changes Unblocked Date
Removal of this header from CORS_ALLOW_HEADERS is blocked until at least a named release after the frontend clean-up has been completed. This may also require observability in the named release before CORS_ALLOW_HEADERS removal as well.
Rationale
The USE-JWT-COOKIE header was used by MFE's to inform backends when JWT cookies should be used. It has some complexities as detailed in the following ADR proposing its removal. See docs/decisions/0002-remove-use-jwt-cookie-header.rst in #197 (which hasn't merged as-of this initial ticket write up).
The complexity causes confusion, and we'd like to simplify that.
Removal
This PR introduces the replacement and ability to disable the old behavior:
This ticket details some of the follow-up cleanup work for full removal:
Replacement
The PR #197 also introduces the replacement, which is something called "forgiving JWT cookies", where we accept JWT cookies on all requests (not just those with a special header), but if it fails authentication, we allow the endpoint to try other forms of authentication before giving up.
Deprecation
No response
Migration
No response
Additional Info
No response
Task list
Note: To make life simpler for me (@robrap), I left searches for org openedx and edx together on this ticket.
RFC Start Date
2023-08-14
Target Plan Accepted Date
2023-08-18
Target Transition Unblocked Date
Ready now:
USE-JWT-COOKIEheader, except inCORS_ALLOW_HEADERS.Not yet ready:
CORS_ALLOW_HEADERS.Earliest Breaking Changes Unblocked Date
Removal of this header from
CORS_ALLOW_HEADERSis blocked until at least a named release after the frontend clean-up has been completed. This may also require observability in the named release beforeCORS_ALLOW_HEADERSremoval as well.Rationale
The USE-JWT-COOKIE header was used by MFE's to inform backends when JWT cookies should be used. It has some complexities as detailed in the following ADR proposing its removal. See docs/decisions/0002-remove-use-jwt-cookie-header.rst in #197 (which hasn't merged as-of this initial ticket write up).
The complexity causes confusion, and we'd like to simplify that.
Removal
This PR introduces the replacement and ability to disable the old behavior:
This ticket details some of the follow-up cleanup work for full removal:
Replacement
The PR #197 also introduces the replacement, which is something called "forgiving JWT cookies", where we accept JWT cookies on all requests (not just those with a special header), but if it fails authentication, we allow the endpoint to try other forms of authentication before giving up.
Deprecation
No response
Migration
No response
Additional Info
No response
Task list
Note: To make life simpler for me (@robrap), I left searches for org openedx and edx together on this ticket.
USE-JWT-COOKIEfrom edx-drf-extensions: Support DEPR of USE-JWT-COOKIE with forgiving JWTs edx/edx-arch-experiments#429frontend-platformandfrontend-base.edx-drf-extensions>=10.2.0, which should be the case.CORS_ALLOW_HEADERS? We'll want to see positive results to tell the difference between missing headers and missing observability code.USE-JWT-COOKIEheader, unless it was implemented more generally with a setting.