Age | Commit message (Expand) | Author |
2024-08-15 | fix: bugs with generating auth tokens | John Nduli |
2024-08-15 | fix: cast args to str | John Nduli |
2024-08-15 | fix: bugs in masquerade api | John Nduli |
2024-08-14 | fix: import timedelta in jwks | John Nduli |
2024-08-14 | refactor: move newest_jwk_with_rotation function to jwks.py...We have a similar jwk module in gn2 that does similar functionality.
Moving the newest_jwk_with_rotation function to the module ensures
that there's some consistency between both modules so that when we
ever want to remove the duplication (e.g. by creating some python pip
package) it's easier.
| John Nduli |
2024-08-14 | docs: update documentation to reflect new secrets handling | John Nduli |
2024-08-13 | Emails: Make "From" address configurable...We are running GeneNetwork in different environments. Each environment
could have it's own separate domain, and need a different sender email
to allow the underlying services to allow the emails through.
| Frederick Muriuki Muriithi |
2024-08-08 | Fix bug with sending e-mails...We changed the from address from genenetwork.org to uthsc.edu, which
seems to have fixed the issue with e-mails not being properly sent.
We also stopped activating tls
| zsloan |
2024-08-08 | Bug: Prevent fall-through to verification if code is expired. | Frederick Muriuki Muriithi |
2024-08-08 | Get data from form too. | Frederick Muriuki Muriithi |
2024-08-08 | Forward email to email verification page. | Frederick Muriuki Muriithi |
2024-08-07 | Log out user registration errors at the `ERROR` log-level. | Frederick Muriuki Muriithi |
2024-08-07 | Log out exceptions at the `ERROR` log level...Log out any unhandled exceptions at the `ERROR` log level to ensure
that any and all unhandled errors show up in the logs under normal
running of the application.
| Frederick Muriuki Muriithi |
2024-08-07 | Include email text templates. | Frederick Muriuki Muriithi |
2024-08-05 | Fix linting errors. | Frederick Muriuki Muriithi |
2024-08-02 | docs: update documentation to include wsgi and be more detailed on local set up | John Nduli |
2024-08-02 | feat: improve local set up utility functions...Ensures running `init_dev_users` and `init_dev_clients` multiple times
succeeds and updates the local database entry. Also provide a custom
flag to set the gn2's client url and add jwt-bearer to list of accepted
grants.
| John Nduli |
2024-08-02 | fix: use json to support parsing oauth2 requests...The local sign in request used by gn2 uses json. However, the default
parsing assumes form data, see:
- https://github.com/lepture/authlib/blob/v1.2.0/authlib/integrations/flask_oauth2/authorization_server.py#L72
- https://github.com/lepture/authlib/blob/v1.2.0/authlib/integrations/flask_helpers.py#L5
We create a custom Authorization server that defaults to `use_json=True`
when creating the oauth request object
| John Nduli |
2024-08-01 | Handle generic exception and return a value.enable-key-rotation | Frederick Muriuki Muriithi |
2024-07-31 | Add missing image for favicon.ico | Frederick Muriuki Muriithi |
2024-07-31 | Update all endpoints to use the `client_secret_post` auth method. | Frederick Muriuki Muriithi |
2024-07-31 | Use customised JWTBearerToken class | Frederick Muriuki Muriithi |
2024-07-31 | Extend default JWTBearerToken to include a user member. | Frederick Muriuki Muriithi |
2024-07-31 | Authenticate JWTs using all available keys. | Frederick Muriuki Muriithi |
2024-07-31 | Add endpoint for favicon.ico...Helps with silencing NotFound errors in the logs.
| Frederick Muriuki Muriithi |
2024-07-31 | Add some debug logging for errors. | Frederick Muriuki Muriithi |
2024-07-31 | Setup secrets for test to prevent errors. | Frederick Muriuki Muriithi |
2024-07-31 | Bug: Pass in app rather than path. | Frederick Muriuki Muriithi |
2024-07-31 | Fetch a client's JWKs from a URI | Frederick Muriuki Muriithi |
2024-07-31 | Enable registration of a public-jwks-uri for every client | Frederick Muriuki Muriithi |
2024-07-31 | Fix styling: Use bootstrap styling. | Frederick Muriuki Muriithi |
2024-07-31 | Remove the `CLIENTS_SSL_PUBLIC_KEYS_DIR` configuration...Moving forward, each client will advertise it's current JWKs at a
known endpoint, and we'll use those, rather than having a
configuration that requires manual update of the certificates.
This will make it easier to implement key rotation on the clients too.
| Frederick Muriuki Muriithi |
2024-07-31 | Enable external configuration of session expiry period...Enable passing in the number of minutes that a session can be valid
for. This enables the length of time that the session can last to be
configurable rather than hard-coded.
| Frederick Muriuki Muriithi |
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 |