Age | Commit message (Expand) | Author |
2024-07-31 | Ignore warning from mypy. | Frederick Muriuki Muriithi |
2024-07-31 | Validate JWTs against all existing JWKs. | Frederick Muriuki Muriithi |
2024-07-31 | Remove obsoleted SSL_PRIVATE_KEY configuration...With the key rotation in place, eliminate the use of the
SSL_PRIVATE_KEY configuration which pointed to a specific non-changing
JWK.
| Frederick Muriuki Muriithi |
2024-07-31 | Update datetime references on changed import. | Frederick Muriuki Muriithi |
2024-07-31 | Retrieve newest JWK, creating a new JWK where necessary....To help with key rotation, we fetch the latest key, creating a new JWK
in any of the following 2 conditions:
* There is no JWK in the first place
* The "newest" key is older than a specified number of days
| Frederick Muriuki Muriithi |
2024-07-31 | Simplify jwks_directory() function...Pass in the app object rather than a path and compute the secrets
directory within the function.
| Frederick Muriuki Muriithi |
2024-07-30 | JWT refresh: Deactivate the checks and revocation...The checks for whether a token is already linked, and then revoking it
and raising an error were causing issues in multi-threaded
environments, where there'd be multiple requests to the auth server
all using an expired token.
This just links the refresh token and avoids the check and revocation
for the time being.
| Frederick Muriuki Muriithi |
2024-07-18 | List any/all existing JWKs...List any/all existing JWKs that the server currently supports.
| Frederick Muriuki Muriithi |
2024-07-18 | Add module to handle JWK files | Frederick Muriuki Muriithi |
2024-07-17 | Fix linting issues | Frederick Muriuki Muriithi |
2024-07-17 | Add non-interactive script to assign make data public by default. | Frederick Muriuki Muriithi |
2024-07-17 | Remove flask CLI command...We run the scripts directly, not via flask.
| Frederick Muriuki Muriithi |
2024-07-15 | Rename script. | Frederick Muriuki Muriithi |
2024-07-15 | Make only non-human data public automatically...Ensure that the scripted process of making data automatically public
only works for data that is non-human - this is because human data has
legal issues with privacy, security and the like.
Human data is made public only via a manual process where (a) human(s)
get to make a judgement call.
| Frederick Muriuki Muriithi |
2024-07-12 | Remove fieldset that breaks UI in google-chrome. | Frederick Muriuki Muriithi |
2024-06-28 | Enable logging in script. | Frederick Muriuki Muriithi |
2024-06-25 | Roles: Get rid of use of GroupRole; use Role directly for resources...The GroupRole idea was flawed, and led to a critical bug that would
have allowed privilege escalation. This uses the Role directly acting
on a specific resource when assigning said role to a user.
| Frederick Muriuki Muriithi |
2024-06-20 | Move deactivated tests to module where they will be re-implemented | Frederick Muriuki Muriithi |
2024-06-20 | Reorganise test fixtures. Fix tests and issues caught....Reorganise test fixtures to more closely follow the design of the auth
system.
Fix the broken tests due to refactors and fix all issues caught by the
running tests.
| Frederick Muriuki Muriithi |
2024-06-18 | Update tests for new paradigm...* Create a jwt token generator in place of a static token
* Update some fixtures
* Skip some tests that will require more work to fix
| Frederick Muriuki Muriithi |
2024-06-18 | fix mypy errors | Frederick Muriuki Muriithi |
2024-06-17 | Fix mypy errors | Frederick Muriuki Muriithi |
2024-06-17 | Remove obsolete endpoint. | Frederick Muriuki Muriithi |
2024-06-17 | Fix linting errors | Frederick Muriuki Muriithi |
2024-06-17 | Remove deprecated endpoint. | Frederick Muriuki Muriithi |
2024-06-17 | Retrieve complete list of a users roles on a particular resource. | Frederick Muriuki Muriithi |
2024-06-17 | Bug: use or's short-circuiting to prevent evaluation of statements...Without the `or` later statements were being evaluated, before the
final value was computed. This commit short-circuits that behaviour.
| Frederick Muriuki Muriithi |
2024-06-17 | Improve error-handling. | Frederick Muriuki Muriithi |
2024-06-17 | Fix linting errors. | Frederick Muriuki Muriithi |
2024-06-17 | Create a resource role. | Frederick Muriuki Muriithi |
2024-06-17 | Present errors more cleanly. | Frederick Muriuki Muriithi |
2024-06-17 | Don't save the resource-owner role as a resource role...The 'resource-owner' role is a system-default role that applies to
most resources, but should not be editable by users. This commit
removes the code that was linking the role with each resource, leading
it to being presented to the user as a editable role.
| Frederick Muriuki Muriithi |
2024-06-17 | Use the form's json attribute to retrieve sent data...The system uses JSON as the default communication format, so we use
the form's json attribute to get any data sent.
| Frederick Muriuki Muriithi |
2024-06-11 | Fix typo. | Frederick Muriuki Muriithi |
2024-06-11 | Temporary fix to retrieve users with read access to resource. | Frederick Muriuki Muriithi |
2024-06-11 | List users assigned a particular role on a specific resource.handle-role-privilege-escalation | Frederick Muriuki Muriithi |
2024-06-11 | Import the symbols we use in the module directly....Import the modules directly to help with reducing line-length and
unnecessary typing.
| Frederick Muriuki Muriithi |
2024-06-11 | Unassign privilege from resource role. | Frederick Muriuki Muriithi |
2024-06-10 | Improve error messaging. | Frederick Muriuki Muriithi |
2024-06-10 | Fetch a role by its ID. | Frederick Muriuki Muriithi |
2024-06-10 | Handle generic exceptions. | Frederick Muriuki Muriithi |
2024-06-10 | Provide some endpoints for privileges. | Frederick Muriuki Muriithi |
2024-06-10 | Use new db resultset conversion functions. | Frederick Muriuki Muriithi |
2024-06-10 | Provide functions to convert DB rows into data objects. | Frederick Muriuki Muriithi |
2024-06-10 | Provide resource roles endpoint...Provide an endpoint that returns all the roles that a particular user
has on a specific resource.
| Frederick Muriuki Muriithi |
2024-06-10 | Share reusable function | Frederick Muriuki Muriithi |
2024-06-10 | Return error code in error handlers. | Frederick Muriuki Muriithi |
2024-06-07 | Replace `…/group/roles` endpoint with `…/resource/…/roles` endpoint....The `…/group/roles` endpoint relied on the now deleted `group_roles`
table that caused the implementation to be prone to privilege
escalation attacks.
This commit provides the `…/resource/…/roles` endpoint that provides
the required functionality without the exposure.
| Frederick Muriuki Muriithi |
2024-06-07 | Update role assignment: user resource_roles table...We no longer use the group_roles table, and have moved to the less
privilege-escalation-prone resource_roles table. This commit updates
the queries to use the newer resource_roles table.
| Frederick Muriuki Muriithi |
2024-06-07 | migration: Drop `group_roles` db table. | Frederick Muriuki Muriithi |