Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-05-24 | Use monads consistently to reduce chances of errors. | Frederick Muriuki Muriithi | |
2024-05-23 | jwt: add user roles to the jwt token. | Frederick Muriuki Muriithi | |
2024-05-13 | Fix myriad of linting error | Frederick Muriuki Muriithi | |
These linting errors can't be rebased into the newer commits. | |||
2024-05-13 | Link old refresh token to newly issued refresh token | Frederick Muriuki Muriithi | |
We need to track the "lineage" of refresh tokens in order to detect possible stolen tokens and mitigate damage. | |||
2024-05-13 | Register the RefreshTokenGrant with the server | Frederick Muriuki Muriithi | |
Register the RefreshTokenGrant with the server to enable refreshing of the tokens. | |||
2024-05-13 | Use None as default for expires_in | Frederick Muriuki Muriithi | |
2024-05-13 | Save refresh token when it is generated. | Frederick Muriuki Muriithi | |
2024-05-13 | Save token with same ID as JWT's "jti" value. | Frederick Muriuki Muriithi | |
2024-05-13 | Initialise JWTRefreshToken model | Frederick Muriuki Muriithi | |
Add a model for the JWT refresh tokens. | |||
2024-05-06 | Add `jti` claim | Frederick Muriuki Muriithi | |
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. | |||
2024-05-02 | Include refresh tokens with generated JWT | Frederick Muriuki Muriithi | |
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. | |||
2024-05-02 | Delete a client's public key. | Frederick Muriuki Muriithi | |
2024-05-02 | Improve UI look-and-feel. | Frederick Muriuki Muriithi | |
2024-05-02 | Register a client's public key(s). | Frederick Muriuki Muriithi | |
2024-05-02 | Compute and cache the client's KeySet. | Frederick Muriuki Muriithi | |
2024-05-02 | Provide missing client name. | Frederick Muriuki Muriithi | |
2024-05-02 | Fix editing of grant_types | Frederick Muriuki Muriithi | |
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. | |||
2024-05-02 | Use same name as register-client form | Frederick Muriuki Muriithi | |
2024-05-02 | Make registration of grant-types more flexible. | Frederick Muriuki Muriithi | |
2024-05-02 | use dataclasses' asdict() function. | Frederick Muriuki Muriithi | |
2024-05-02 | Use user-provided values rather than hard-coded values. | Frederick Muriuki Muriithi | |
2024-05-02 | Add error checking to form input data. | Frederick Muriuki Muriithi | |
2024-05-02 | Replace colon with hyphen in html element names | Frederick Muriuki Muriithi | |
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. | |||
2024-04-30 | Create a JWT token when querying a user's role an a resource. | Munyoki Kilyungi | |
* 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> | |||
2024-04-26 | UX: use correct class for flash messages. | Frederick Muriuki Muriithi | |
2024-04-26 | Pass redirect_uri fields in POST. Use full URL | Frederick Muriuki Muriithi | |
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. | |||
2024-04-25 | Make `CLIENTS_SSL_PUBLIC_KEYS_DIR` explicitly a config setting. | Frederick Muriuki Muriithi | |
2024-04-24 | Move entry-point wsgi.py file/script to gn_auth package | Frederick Muriuki Muriithi | |
2024-04-24 | Move the errors module up one level to break circular dependencies. | Frederick Muriuki Muriithi | |
2024-04-24 | Setup logging: Use gunicorn's loggers where appropriate | Frederick Muriuki Muriithi | |
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. | |||
2024-04-23 | pylint: Fix linting errors. | Frederick Muriuki Muriithi | |
2024-04-23 | Rename function and do minor bug-fixes. | Frederick Muriuki Muriithi | |
2024-04-23 | Update default settings. | Frederick Muriuki Muriithi | |
2024-04-23 | Make UPLOADS_DIR mandatory rather than CLIENTS_SSL_PUBLIC_KEYS_DIR | Frederick Muriuki Muriithi | |
2024-04-23 | Make the keys storage dir depend on the more generic uploads directory | Frederick Muriuki Muriithi | |
2024-04-22 | Resolve the key using the "kid" field. | Frederick Muriuki Muriithi | |
2024-04-22 | Separate clients' keys from authorisation server's key | Frederick Muriuki Muriithi | |
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. | |||
2024-04-20 | Separate authentication from token generation | Frederick Muriuki Muriithi | |
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. | |||
2024-04-20 | Remove unused import | Frederick Muriuki Muriithi | |
2024-04-20 | Use the response_type in the request. | Frederick Muriuki Muriithi | |
2024-04-20 | Setup token validators at app initialisation. | Frederick Muriuki Muriithi | |
2024-04-20 | Define and register grant for JWT tokens. | Frederick Muriuki Muriithi | |
2024-04-18 | Add the `SSL_KEY_PAIR_*` configurations | Frederick Muriuki Muriithi | |
Add paths to the SSL key-pair used for signing and verifying the JWTs. | |||
2024-04-02 | Remove unused group argument. | Frederick Muriuki Muriithi | |
2024-03-30 | Update call: Drop unused argument in call. | Frederick Muriuki Muriithi | |
2024-03-26 | Rename to gn-auth | Frederick Muriuki Muriithi | |
2024-03-25 | Flatten roles list in "get_user_roles_on_resource." | Munyoki Kilyungi | |
* 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> | |||
2024-03-21 | Return empty tuples when metadata is queried for data. | Munyoki Kilyungi | |
* 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> | |||
2024-03-21 | Add extra endpoint to get user authorisation given a resource name. | Munyoki Kilyungi | |
* 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> | |||
2024-03-21 | Revert "Add an extra endpoint for metadata authorisation." | Munyoki Kilyungi | |
This reverts commit f5e833c0d72eaec80425203b15210ed304cc4811. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com> |