-
Notifications
You must be signed in to change notification settings - Fork 8
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
Removal of Token Persistence #1664
Comments
Initial POC was done by Dushani and it is documented in https://docs.google.com/document/d/1Owp_Ams5Y_xLX0xFk2t50rFCeNxL0T6CxIs4ITHTMc4/edit# Following areas need to be handled
|
Following are the PRs for Identitiy repo containing newly introduced interfaces Access Token Generation wso2-extensions/identity-inbound-auth-oauth#2041 |
Interface and code refactor for revoke flow wso2-extensions/identity-inbound-auth-oauth#2044 |
Add new component for keymanager extension to add new code repo wso2-extensions/apim-km-wso2is#96 |
New DB is introduced to store persistence related data
Need to add the following datasource in deployment.toml to point to this
Add db util to access new db wso2-extensions/apim-km-wso2is#97 |
identity-inbound-auth-oauth repo prs for master branch with new interfaces |
initial implementation for apim keymanager connectors wso2-extensions/apim-km-wso2is#100 |
Add mechanism to handle existing opaque refresh tokens during refresh token grant flow. New refresh token will be generated as JWT token. PR related wso2-extensions/apim-km-wso2is#101 |
In APIM, portals work with opaque tokens. This needs to be changed to JWT tokens. Currently, JWT tokens are not supported when invoking product APIs. JWT based implementation is introduced to Choreo but is not working with APIM. Currently working on getting this to work with APIM |
Set the product apis to work with JWT tokens wso2/carbon-apimgt#11976 With the above change, we need to increase the
Increase the
|
Add cleanup mechanism to remove expired tokens wso2-extensions/apim-km-wso2is@386ee33 Created a doc with instruction on setting up https://docs.google.com/document/d/16uISJGhspJfQ31iYaAflwdoNNSRbJABbEdsBpt7EaII/edit |
2023.11.06 |
Following are the remaining tasks of the feature.
|
Task List Updated as of 2023.11.04✅ Check whether app updates, delete are revoking tokens in default IS case and non persistence case
To be discussed
Testing ChecklistTested scenarios TODO
|
The pending and in-progress items of the task are as follows for the current scope :
Once kernel and identity versions are bumped in latest carbon-apimgt following needs to be done :
|
The PRs for the feature has been merged. The bugs found while further testing needs to be fixed. There tracked in
TokenPersistenceRemoval
Will close the issue once the doc PR is merged |
Closing as the task is completed. |
Problem
Current API-M deployments utilize JWT access tokens since the required number of queries for the validation is much lesser than the opaque tokens. But due to the following use cases, a reference called the JTI is persisted at the token table for each generated access token.
In large-scale deployments of WSO2 API Manager, this can cause a bottleneck in the persistence layer and result in reduced TPS for token generation. This can negatively impact the overall performance of the deployment. A solution is needed to improve TPS for token generation in these high-load scenarios.
Solution
The proposed solution aims to improve token management by removing the persistence of tokens in the database.
The text was updated successfully, but these errors were encountered: