aboutsummaryrefslogtreecommitdiff
path: root/gn2/wqflask/oauth2/client.py
AgeCommit message (Collapse)Author
2024-10-09Update application's allowed scopesFrederick Muriuki Muriithi
The `register-client` and `migrate-data` scopes are not supported for end-user clients.
2024-10-09Pass the scope from the token, not applicationFrederick Muriuki Muriithi
There are at times when a token's scope could be attenuated for whatever reason from the full scope allowed to the application. In those instances, it is necessary to use the token's scope rather than the full scope.
2024-08-05Fix URLFrederick Muriuki Muriithi
2024-08-05Override 'client_secret_post' auth with a JSON equivalentFrederick Muriuki Muriithi
In order to use JSON consistently across the board, we make even the authentication method use JSON rather than FORMDATA.
2024-08-01Use JWKs from auth server public endpointFrederick Muriuki Muriithi
* Fetch keys from auth server * Validate token is signed with one of the keys from server * Ensure refreshing of token is still synchronised
2024-07-31Synchronise token refreshesFrederick 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-17Fix premature session expirationFrederick 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-06-10Set default headers for OAuth2Client requests.Frederick Muriuki Muriithi
2024-05-14Consistently use the same OAuthSession clientFrederick Muriuki Muriithi
2024-05-14Enable client to automatically request a refresh token.Frederick Muriuki Muriithi
2024-04-30Make 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-03-26Use 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-26Remove unused imports.Munyoki Kilyungi
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2024-03-06Bug: Break circular importFrederick Muriuki Muriithi
2024-03-05configs: Fetch configs from app not `gn2.utility.tools`Frederick Muriuki Muriithi
Fetch configurations from the application, rather than from the `gn2.utility.tools` module that does not get the updated values from the secrets file.
2024-01-30Create framework for error handling and handle connection errorsFrederick Muriuki Muriithi
2023-12-29Namespace all modules under gn2.Arun Isaac
We move all modules under a gn2 directory. This is important for "correct" packaging and deployment as a Guix service.