-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DEPR]: BearerAuthentication #284
Comments
Note: When we start switching to JWTs where opaque tokens were formerly used, the new token will be much larger than the old token. In general this shouldn't be an issue, but if anyone has special code that make assumptions about the max size of this token (like some proctoring code had), it could cause unexpected issues. |
Additional details:
Based on the above, it seems like clean up of ecommerce should be the simplest. Clean-up of edx-drf-extensions versions of BearerAuthentication should be done next, simply switching to the edx-platform implementation. Finally, there would be the work of getting people to stop using these Bearer tokens, which is the harder part of this DEPR. |
Proposal Date
2022-12-08
Target Ticket Acceptance Date
2022-12-23
Earliest Open edX Named Release Without This Functionality
Q - 2023-10
Rationale
The use of BearerAuthentication was informally documented as deprecated in OEP-42: Authentication, created on 2020-02-28. This OEP was just capturing an earlier (possibly undocumented) decision to deprecate in favor of the newer JWT authentication. At the time OEP-42 was documented, the only reason to keep BearerAuthentication was in support of mobile apps, because they didn't yet support JWT authentication. However, JWT Authentication is now supported for mobile apps as well.
The reason to remove BearerAuthentication is to simplify our authentication to fewer technologies, making it safer and easier to understand.
Removal
Docs and referencing code will need to be updated. See BearerAuthentication GitHub search results for a start.
This ADR will be partially superseded/updated, because BearerAuthentication would no longer be an option.
Replacement
Usage will be replaced by JwtAuthentication:
edx-drf-extensions/edx_rest_framework_extensions/auth/jwt/authentication.py
Line 26 in a03c5fc
Deprecation
There is no active plan.
Migration
It should be pretty simple for clients to request a JWT access token, in place of a Bearer token, and pass it in the request header instead.
However, there are some issues to be aware of:
Additional Info
There is a custom attribute that allows for monitoring of BearerAuthentication usage.
UPDATE: The edx-platform implementation uses the same custom attribute, which is very misleading. Additional monitoring is required to ensure we know which version of the class is in-use so that we can retire the edx-drf-extensions version, and then ultimately retire the edx-platform version.
The text was updated successfully, but these errors were encountered: