aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2024-05-13Initialise JWTRefreshToken model...Add a model for the JWT refresh tokens. Frederick Muriuki Muriithi
2024-05-09Refresh tokens: Create db schema.Frederick Muriuki Muriithi
2024-05-06Add `jti` claim...Have each JWT token have a `jti` claim (JWT ID) to help with tracking refreshes, and therefore validity of the JWTs. If a refresh token is used more than once, then that refresh token, and all its progeny/descendants are considered invalid, since that token could have been stolen. Frederick Muriuki Muriithi
2024-05-02Include refresh tokens with generated JWT...This shim enables us to have a refresh token with the JWT. This might not be the way to refresh JWTs - this is because the `authlib.oauth2.rfc7523.token.JWTBearerTokenGenerator.__call__(…)` method has a comment that states: # there is absolutely no refresh token in JWT format Searching on the internet, however, seems to indicate that JWTs can be used in conjunction with refresh tokens... We need to verify this and fix this if necessary. Frederick Muriuki Muriithi
2024-05-02Delete a client's public key.Frederick Muriuki Muriithi
2024-05-02Improve UI look-and-feel.Frederick Muriuki Muriithi
2024-05-02Register a client's public key(s).Frederick Muriuki Muriithi
2024-05-02Compute and cache the client's KeySet.Frederick Muriuki Muriithi
2024-05-02Provide missing client name.Frederick Muriuki Muriithi
2024-05-02Fix editing of grant_types...This commit makes the values for the grant types dynamic, enabling adding and/or removing of supported grant types. The editing was not updating the grant type values correctly either - we update the metadata key from "grants" to "grant_types" to fix that. Frederick Muriuki Muriithi
2024-05-02Use same name as register-client formFrederick Muriuki Muriithi
2024-05-02Make registration of grant-types more flexible.Frederick Muriuki Muriithi
2024-05-02use dataclasses' asdict() function.Frederick Muriuki Muriithi
2024-05-02Use user-provided values rather than hard-coded values.Frederick Muriuki Muriithi
2024-05-02Add error checking to form input data.Frederick Muriuki Muriithi
2024-05-02Replace colon with hyphen in html element names...Colons have special meanings in CSS rules. This means that having names with colons in them is a recipe for annoying, difficult to track bugs. Frederick Muriuki Muriithi
2024-04-30Create a JWT token when querying a user's role an a resource....* gn_auth/auth/authorisation/resources/views.py: Import time. (get_user_roles_on_resource): Add a JWT bearer token to the responses's header. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-04-26UX: use correct class for flash messages.Frederick Muriuki Muriithi
2024-04-26Pass redirect_uri fields in POST. Use full URL...Pass in the missing redirect_uri value along with login data. Use the full URI (complete with request args) as the form's action. This resolves the error raised when wrong credentials are provided. Frederick Muriuki Muriithi
2024-04-25Make `CLIENTS_SSL_PUBLIC_KEYS_DIR` explicitly a config setting.Frederick Muriuki Muriithi
2024-04-24Move entry-point wsgi.py file/script to gn_auth packageFrederick Muriuki Muriithi
2024-04-24Move the errors module up one level to break circular dependencies.Frederick Muriuki Muriithi
2024-04-24Setup logging: Use gunicorn's loggers where appropriate...If the application is run under GUnicorn, then use the gunicorn loggers otherwise, use some default development loggers. This can be extended to support other WSGI servers down the line if ever necessary. Frederick Muriuki Muriithi
2024-04-23pylint: Fix linting errors.Frederick Muriuki Muriithi
2024-04-23tests: Fix missing test ssl key.Frederick Muriuki Muriithi
2024-04-23Rename function and do minor bug-fixes.Frederick Muriuki Muriithi
2024-04-23tests: Add missing configs to allow tests to run.Frederick Muriuki Muriithi
2024-04-23Update default settings.Frederick Muriuki Muriithi
2024-04-23Make UPLOADS_DIR mandatory rather than CLIENTS_SSL_PUBLIC_KEYS_DIRFrederick Muriuki Muriithi
2024-04-23Make the keys storage dir depend on the more generic uploads directoryFrederick Muriuki Muriithi
2024-04-22Resolve the key using the "kid" field.Frederick Muriuki Muriithi
2024-04-22Separate clients' keys from authorisation server's key...The authorisation server uses its key to sign any token it generates. It uses the clients' public keys to validate any assertions it receives from a client using the client's public key. Frederick Muriuki Muriithi
2024-04-20Separate authentication from token generation...Authenticate with the usual authentication code flow. Do not inherit AuthenticationCodeGrant in JWTBearerGrant, instead, use the JWTBearerGrant to generate the token after the user has already been successfully authenticated. Frederick Muriuki Muriithi
2024-04-20Remove unused importFrederick Muriuki Muriithi
2024-04-20Use the response_type in the request.Frederick Muriuki Muriithi
2024-04-20Setup token validators at app initialisation.Frederick Muriuki Muriithi
2024-04-20Define and register grant for JWT tokens.Frederick Muriuki Muriithi
2024-04-18Add the `SSL_KEY_PAIR_*` configurations...Add paths to the SSL key-pair used for signing and verifying the JWTs. Frederick Muriuki Muriithi
2024-04-02Remove unused group argument.Frederick Muriuki Muriithi
2024-03-30Update call: Drop unused argument in call.Frederick Muriuki Muriithi
2024-03-26Rename to gn-authFrederick Muriuki Muriithi
2024-03-25Flatten roles list in "get_user_roles_on_resource."...* gn_auth/auth/authorisation/resources/views.py: Import operator. (get_user_roles_on_resource): Flatten roles list. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Return empty tuples when metadata is queried for data....* gn_auth/auth/authorisation/resources/models.py (resource_data): A metadata resource is not linked to any data so we return an empty tuple. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Add extra endpoint to get user authorisation given a resource name....* gn_auth/auth/authorisation/resources/models.py (user_roles_on_resources): New function. * gn_auth/auth/authorisation/resources/views.py (resources_authorisation): New endpoint. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Revert "Add an extra endpoint for metadata authorisation."...This reverts commit f5e833c0d72eaec80425203b15210ed304cc4811. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Rename klass to class_....As recommended by: <https://barry.warsaw.us/software/STYLEGUIDE.txt> which is a reference for pep-8. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Fix typo....Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Replace "the" prefix with an underscore....Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Delete dead comment....Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi
2024-03-21Rename the_user -> _user....* gn_auth/auth/authentication/oauth2/models/oauth2client.py (client): Rename the_user -> _user. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> Munyoki Kilyungi