Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-06-25 | Roles: Get rid of use of GroupRole; use Role directly for resources | Frederick Muriuki Muriithi | |
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. | |||
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. | Frederick Muriuki Muriithi | |
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. | |||
2024-06-18 | Update tests for new paradigm | Frederick Muriuki Muriithi | |
* Create a jwt token generator in place of a static token * Update some fixtures * Skip some tests that will require more work to fix | |||
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 | Frederick Muriuki Muriithi | |
Without the `or` later statements were being evaluated, before the final value was computed. This commit short-circuits that behaviour. | |||
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 | Frederick Muriuki Muriithi | |
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. | |||
2024-06-17 | Use the form's json attribute to retrieve sent data | Frederick Muriuki Muriithi | |
The system uses JSON as the default communication format, so we use the form's json attribute to get any data sent. | |||
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. | Frederick Muriuki Muriithi | |
Import the modules directly to help with reducing line-length and unnecessary typing. | |||
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 | Frederick Muriuki Muriithi | |
Provide an endpoint that returns all the roles that a particular user has on a specific resource. | |||
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. | Frederick Muriuki Muriithi | |
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. | |||
2024-06-07 | Update role assignment: user resource_roles table | Frederick Muriuki Muriithi | |
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. | |||
2024-06-07 | migration: Drop `group_roles` db table. | Frederick Muriuki Muriithi | |
2024-06-06 | migration: Create `resource_roles` db table | Frederick Muriuki Muriithi | |
2024-06-06 | migration: Move role-manipulation privileges from group to resources | Frederick Muriuki Muriithi | |
Attach the role-manipulation privileges to the resource rather than the group, because the roles actually act on the resource itself - thus each role needs to track which resource it acts on. | |||
2024-06-06 | Add deprecation warning to /group-privileges endpoint function. | Frederick Muriuki Muriithi | |
2024-06-05 | Bug: Point to correct key to avoid errors | Frederick Muriuki Muriithi | |
2024-06-04 | Approximate the GN2 look-and-feel. | Frederick Muriuki Muriithi | |
2024-06-04 | auth: scope: Remove confusing UI elements | Frederick Muriuki Muriithi | |
2024-06-04 | Update system name from GeneNetwork3 to gn-auth | Frederick Muriuki Muriithi | |
2024-06-04 | Update email styling and text. | Frederick Muriuki Muriithi | |
2024-06-04 | Redirect appropriately when verifying emails. | Frederick Muriuki Muriithi | |
2024-06-03 | Raise explicit error messages for more graceful handling.enable-sending-emails | Frederick Muriuki Muriithi | |
2024-06-03 | Log out emails in debug mode. | Frederick Muriuki Muriithi | |
Log out emails sent when the application is in debug mode to help with maintenance efforts. | |||
2024-06-03 | Handle unverified emails | Frederick Muriuki Muriithi | |
If a user provides the correct credentials to login, but they are unverified, redirect them to the email verification page, where they are provided with a chance to verify their email, or send a new verification code. | |||
2024-06-03 | Update docs on launching the application. | Frederick Muriuki Muriithi | |
2024-06-03 | Provide endpoint for verification and do verification | Frederick Muriuki Muriithi | |
2024-06-03 | Send verification email on registration. | Frederick Muriuki Muriithi | |
2024-06-03 | Use asdict(...) | Frederick Muriuki Muriithi | |
Use dataclasses.asdict function to generate the dict that will be used for the response rather than building it up manually. |