Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-08-01 | Add module to help with rotation of JSON Web Keys. | Frederick Muriuki Muriithi | |
2024-07-31 | Synchronise token refreshes | Frederick Muriuki Muriithi | |
The application can be run in a multi-threaded server, leading to a situation where the multiple threads attempt to get a new JWT using the exact same refresh token. This synchronises the various threads ensuring only a single thread is able to retrieve the new JWT that all the rest of the threads then use. | |||
2024-07-26 | Use JSON rather than X-Form-URL-encoded data with auth server. | Frederick Muriuki Muriithi | |
2024-07-22 | Provide PoC public-jwks endpoint. | Frederick Muriuki Muriithi | |
2024-07-17 | Fix premature session expiration | Frederick Muriuki Muriithi | |
With the change to JWTs the time-to-live for each token is severely curtailed to help with security in case of a token theft. We, therefore, can no longer rely on the TTL for session expiration, rather, we will rely of the token-refresh mechanism to expire a token after a long while. | |||
2024-07-17 | Remove redundant import. | Frederick Muriuki Muriithi | |
2024-07-17 | Remove token and user detail handling from @app.before_request | Frederick Muriuki Muriithi | |
The token and user details information is handled in the `gn2.wqflask.oauth2.session`. Other parts of the system should make use of that. It also helps avoid some weird "action-at-a-distance" interactions - this forces the code to request what it needs when it needs it and not rely on some global variables. | |||
2024-06-25 | Remove flawed "group role" idea: use just "role". | Frederick Muriuki Muriithi | |
2024-06-17 | Remove deprecated endpoints/views and templates | Frederick Muriuki Muriithi | |
2024-06-17 | Fix error display logic | Frederick Muriuki Muriithi | |
2024-06-17 | Fetch the active user's roles on a particular resource. | Frederick Muriuki Muriithi | |
2024-06-17 | Use privilege objects rather than IDS. | Frederick Muriuki Muriithi | |
2024-06-17 | Delete request to obsoleted endpoint. | Frederick Muriuki Muriithi | |
2024-06-17 | Create a new resource role. | Frederick Muriuki Muriithi | |
2024-06-17 | Update URI forms | Frederick Muriuki Muriithi | |
2024-06-17 | Use json for communication with gn-auth | Frederick Muriuki Muriithi | |
2024-06-11 | List user assigned role of interest. | Frederick Muriuki Muriithi | |
2024-06-10 | Unassign privilege from resource role. | Frederick Muriuki Muriithi | |
2024-06-10 | Import the UUID class directly. | Frederick Muriuki Muriithi | |
2024-06-10 | Implement "Resource Role Page" | Frederick Muriuki Muriithi | |
Show the page, providing all UI elements necessary, even if the elements themselves are not active. | |||
2024-06-10 | Generalise `render_ur` for the resources pages | Frederick Muriuki Muriithi | |
2024-06-10 | Set default headers for OAuth2Client requests. | Frederick Muriuki Muriithi | |
2024-06-07 | Update UI: Use resource roles rather than obsolete group roles | Frederick Muriuki Muriithi | |
In a fix to fix a privilege-escalation bug, the `…/group/roles` endpoint was entirely removed and replaced with the less error-prone `…/resource/…/roles` endpoint. This commit updates the code to use the new endpoint's data as appropriate. We also fix typos in some url_for routing arguments. | |||
2024-06-06 | Fix displayed error message | Frederick Muriuki Muriithi | |
2024-06-06 | Remove the "Roles" page. | Frederick Muriuki Muriithi | |
2024-06-06 | Deactivate the "create_role" function | Frederick Muriuki Muriithi | |
The `create_role` function could lead to privilege escalation. This commit deactivates it completely to prevent the chance of that happening. | |||
2024-06-05 | Bug: Add missing data to search query. | Frederick Muriuki Muriithi | |
2024-06-05 | Build search URI endpoint on server rather than on JS | Frederick Muriuki Muriithi | |
To help with maintenance, build the search URI on the server rather than in the javascript. | |||
2024-06-05 | Build phenotype results template URI on backend | Frederick Muriuki Muriithi | |
Build the template URI on the backend to remove the need to remember to update the javascript if the URI changes in the future. | |||
2024-06-04 | Provide client data used for user verification. | Frederick Muriuki Muriithi | |
2024-06-03 | Ensure endpoint returns a response. | Frederick Muriuki Muriithi | |
2024-05-30 | Fix redirection bug. | Frederick Muriuki Muriithi | |
2024-05-23 | Bug: Compute numeric timestamp for the claims. | Frederick Muriuki Muriithi | |
2024-05-14 | Consistently use the same OAuthSession client | Frederick Muriuki Muriithi | |
2024-05-14 | Enable client to automatically request a refresh token. | Frederick Muriuki Muriithi | |
2024-05-14 | Redirect to index rather than no-longer supported login | Frederick Muriuki Muriithi | |
Redirect to index of the site rather that the no-longer supported "Password Grant"-using login page. Disable the login route entirely. | |||
2024-04-30 | Revert "Create constructors for encoding and decoding a token." | Munyoki Kilyungi | |
This reverts commit e7a3bf22da1b63a01343f2cd30cd13c234fe508c. | |||
2024-04-30 | Make returning an json object from oauth2_get optional. | Munyoki Kilyungi | |
* gn2/wqflask/oauth2/client.py (oauth2_get): Add a jsonify_p key word that defaults to False. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> | |||
2024-04-30 | Create constructors for encoding and decoding a token. | Munyoki Kilyungi | |
* gn2/tests/unit/wqflask/oauth2/(__init__.py, test_tokens.py): Test cases for jwt token creation. * gn2/wqflask/oauth2/tokens.py (JWTToken): New module for creating jwt tokens. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> | |||
2024-04-24 | Bug: use dict object on Response object. | Frederick Muriuki Muriithi | |
2024-04-24 | Fetch message for authlib errors. | Frederick Muriuki Muriithi | |
2024-04-24 | Send assertion as a string, not bytes. | Frederick Muriuki Muriithi | |
2024-04-24 | DEBUG: log out request details | Frederick Muriuki Muriithi | |
There is a failure on CI/CD that is not obvious - the logs should help with debugging the issue. | |||
2024-04-23 | Separate the auth server's public key from app's private key | Frederick Muriuki Muriithi | |
* Use the app's private key to sign the initial assertions used for retrieving an authorisation token from the auth server. * Use auth server's public key to validate the authorisation tokens got from the auth server. | |||
2024-04-23 | Generate assertions to be used to get the token from the auth server | Frederick Muriuki Muriithi | |
2024-04-23 | Use the JWT Bearer grant type | Frederick Muriuki Muriithi | |
2024-03-26 | Use correct variable name. | Munyoki Kilyungi | |
* gn2/wqflask/oauth2/client.py (no_token_post): "uri" does not exist. Replace it with "uri_path." Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> | |||
2024-03-26 | Delete unused variable. | Munyoki Kilyungi | |
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> | |||
2024-03-26 | Implement "require_oauth2_edit_resource_access" decorator. | Munyoki Kilyungi | |
* gn2/wqflask/oauth2/checks.py (require_oauth2): New function. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> | |||
2024-03-26 | Import user_logged_in from the clients module. | Munyoki Kilyungi | |
Importing "user_logged_in" in the checks module just to export adds a layer of indirection and makes the code hard to read. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> |