aboutsummaryrefslogtreecommitdiff
path: root/gn_auth/auth
AgeCommit message (Collapse)Author
2024-11-08Revert "Debug: Add debug logging to trace JWK fetching."Frederick Muriuki Muriithi
This reverts commit 5a6dc1fb81bf223750f42f4697f3cd7d86b39e71. Remove debugging statements and restore original code.
2024-11-05Debug: Add debug logging to trace JWK fetching.Frederick Muriuki Muriithi
2024-11-04Output KeySet retrieved from the client.Frederick Muriuki Muriithi
2024-10-09Linting: Fix minor linting errorsFrederick Muriuki Muriithi
2024-10-09Fix masquerading logicFrederick Muriuki Muriithi
Update the code to actually use JWT bearer tokens that the older plain authorisation tokens that were previously used.
2024-10-09Add a client to the JWTBearerToken objects.Frederick Muriuki Muriithi
2024-10-09Update Configs: Change `OAUTH2_SCOPE` => `OAUTH2_SCOPES_SUPPORTED`Frederick Muriuki Muriithi
Use the OAUTH2_SCOPES_SUPPORTED application configuration variable, that is used by the flask integration for the Authlib library to set up the supported scopes.
2024-10-09Pass on all GET parameters when redirecting.Frederick Muriuki Muriithi
2024-10-09Put routes behind auth.Frederick Muriuki Muriithi
2024-10-03BugFix: Fetch also roles assigned to userFrederick Muriuki Muriithi
When fetching the resource roles, fetch also any roles that are assigned to the user for that resource.
2024-10-03BugFix: Remove duplicates from resources listFrederick Muriuki Muriithi
Issue: https://issues.genenetwork.org/issues/gn-auth/resources-duplicates-in-resources-list The query was returning multiple instances of the same resource in situations where a user had more than one role of a particular resource.
2024-10-03Provide a way to change OAuth2 client secrets.Frederick Muriuki Muriithi
2024-09-30Refactor: Initialise phenotype packageFrederick Muriuki Muriithi
* Move code into a new phenotypes package and update references. * Add new functions to fetch linked resources from GN3 data identifiers — this is useful for auth * Provide endpoint to fetch authorisation details for a specific phenotype.
2024-09-30Create a better named function, with less data in the args.Frederick Muriuki Muriithi
The new name serves better to reflect what the function does. We then pass only the data that the function needs to perform its operation rather than full objects with extra data — this has implications for security.
2024-09-30Extract function to prevent circular dependencies.Frederick Muriuki Muriithi
2024-09-26Add type annotation to variable.Frederick Muriuki Muriithi
2024-09-26Bugfix: Fix bugs that were preventing creation of geno resourceFrederick Muriuki Muriithi
Fix the bugs that were causing the creation of a genotype resource via API to fail.
2024-09-25Implement genotype resource creation via API with resource dataFrederick Muriuki Muriithi
Create the resource, assign the resource-owner role and link the resource's data in a single API call.
2024-09-25Extract common role assignment to its own moduleFrederick Muriuki Muriithi
2024-09-16Create population resource and assign appropriate rolesFrederick Muriuki Muriithi
Provide an endpoint to create a new population resource (inbredset-group) and assign the active user with the appropriate privileges against the new resource.
2024-09-16Rename blueprint and register it one level lowerFrederick Muriuki Muriithi
Register the populations/inbredset blueprint with the "resources" blueprint rather than at the higher level "auth" blueprint to retain the hierarchy of the blueprints and make maintenance arguably easier.
2024-09-16Pass cursor rather than connection to create_resource functionFrederick Muriuki Muriithi
In order to decouple the `create_resource` function from the related functions that assign roles to users, this commit changes the code to pass in a cursor rather than a connection. The cursor will be the same cursor passed into the role assignment functions ensuring that the resource creation and role assignment happen in a single transaction.
2024-09-13Notes: Add note on some items that could go into hooks.Frederick Muriuki Muriithi
2024-08-30If config variables are not set, return empty string.Frederick Muriuki Muriithi
2024-08-21Only import anonymous collections if they contain traitszsloan
2024-08-21Update 'changed' field when traits are added or removed from collectionszsloan
2024-08-21Do actual password change.Frederick Muriuki Muriithi
2024-08-21Provide email and improve UI text/notification.Frederick Muriuki Muriithi
2024-08-20Save to DB then send emailFrederick Muriuki Muriithi
Separate the saving of the token from its sending.
2024-08-20Handle the "GET" part of the change-password requestFrederick Muriuki Muriithi
- Delete any expired tokens - Display the UI if token is valid, else redirect with error notification.
2024-08-20Pass GET parameters for correct redirection.Frederick Muriuki Muriithi
2024-08-20Fix query: Replace any existing token.Frederick Muriuki Muriithi
2024-08-19Generate token and send out "Forgot Password" emailFrederick Muriuki Muriithi
* Generate token to use for verifying the password-change request * Send out email with token
2024-08-19Show "Forgot Password" link.Frederick Muriuki Muriithi
Provide the user with the "Forgot Password" link, if the backend supports it.
2024-08-15Fix a bunch of linting errors.Frederick Muriuki Muriithi
2024-08-15Reduce UI complexityFrederick Muriuki Muriithi
Providing both the "Enter Verification Token" and the "Send Verification Email" elements of the same user interface seems to confuse users. This commit ensures that the system will provide one or the other, but not both, depending on whether or not there is a pending verification token present for the user.
2024-08-15Import specific classes from the datetime module.Frederick Muriuki Muriithi
2024-08-15fix: bugs with generating auth tokensJohn Nduli
2024-08-15fix: bugs in masquerade apiJohn Nduli
2024-08-14fix: import timedelta in jwksJohn Nduli
2024-08-14refactor: move newest_jwk_with_rotation function to jwks.pyJohn Nduli
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.
2024-08-13Emails: Make "From" address configurableFrederick Muriuki Muriithi
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.
2024-08-08Bug: Prevent fall-through to verification if code is expired.Frederick Muriuki Muriithi
2024-08-08Get data from form too.Frederick Muriuki Muriithi
2024-08-08Forward email to email verification page.Frederick Muriuki Muriithi
2024-08-07Log out user registration errors at the `ERROR` log-level.Frederick Muriuki Muriithi
2024-08-05Fix linting errors.Frederick Muriuki Muriithi
2024-08-02fix: use json to support parsing oauth2 requestsJohn Nduli
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
2024-08-01Handle generic exception and return a value.enable-key-rotationFrederick Muriuki Muriithi
2024-07-31Update all endpoints to use the `client_secret_post` auth method.Frederick Muriuki Muriithi