Released 2020-09-01
- First public preview release.
Released 2020-10-05
- Added Cognito authentication and user parsing,
- Security bug fixes.
Released 2020-10-07
- Added matching correct JWK based on "kid" parameter in jwt header,
Released 2020-10-16
- Refined Cognito authentication configuration,
- Fixed raising authentication errors,
- Remove default Cognito claims from User attributes.
Released 2020-11-03
- Typing applied,
- Settings changed to implicitly enable Cognito,
- Minor improvements.
Released 2020-11-14
- adds EXPIRATION_KEY config variable for checking authorization expiration.
- adds ALLOWED_ISS config variable setting the allowed JWT issues.
Released 2020-12-03
- Use RS256 instead of HS512 for signing internal JWT tokens
- Improve authorization module so that it's not coupled with Cognito
- Rename some env variables:
COGNITO_PUBLIC_KEYS
toALLOWED_PUBLIC_KEYS
COGNITO_ALLOWED_CLIENTS
toALLOWED_AUDIENCES
- Remove the
CLIENT_SECRET
env variable to avoid storing secrets in the Lambda configuration - Add
AUTH_REMOVE_PREFIXES
env variable for controlling whether prefixes (likecognito:
) should be removed from the user data - Remove the guest authorization feature from the Resource class
Released 2020-12-15
- Removed implicit wrapping response body to "{message: }" format.
- Added base64 flag to Response instance.
- Improved automatic header resolution.
- Added emojis in Readme.
Released 2020-12-18
- Headers made case-insensitive dictionary,
- Added version ranges to requirements,
- Added "urn" attribute to Resource,
- Deprecation of authorization and authentication flags in test utility,
- "LambdaFWException" class reworked: added request ID.
Released 2020-12-18
- Authz module reworked - it's no longer a singleton and it requires using only one decorator
Released 2020-12-19
- Improvements for the dev server - allow handling of OPTIONS requests, return the right headers
- Fix invoking endpoints without path parameters
Released 2020-12-29
- Add check_permission function
Released 2021-01-11
- Add Makefile
- Add mandatory username field in "User" class
Released 2021-01-16
- Add refs feature to the Authorizer
- Add
log_msg
param to the ServerError class - it can be used to log an error message that will not be returned to the user
Released 2021-03-01
- Add pre_request_hooks and post_request_hooks to the Resource class
Released 2021-05-25
- Remove the
PRINT_TRACEBACK
setting - it was logging double stack traces - Add proper handling for server error - return proper error responses
- Don't log errors in case of 4xx responses
Released 2021-05-27
- Add
has_permission
helper function - Add common imports to the top level
__init__.py
Released 2021-05-28
- Remove common imports from the top level
__init.py
Released 2021-06-13
- Improve the messages that are logged in the entire library
Released 2021-07-08
- Add CORS-enabled Resource class supporting:
*
domain.com
*.domain.com
- Add Paginated Resource Helper class
Released 2021-07-18
- Add pylint, with configuration at 10.00/10.00 score
Released 2021-08-01
- Reworks Exceptions and adds missing ones to be compatible with all HTTP error codes.
Released 2021-08-10
- Code quality improvements based on mypy type checking
Released 2021-08-25
- Bug fix for a query params in Paginated Resource
Released 2021-09-21
- Adds Authorization Collector
- fixes guest policy overwriting proper policy in authz
- improves test runtime
- restores support for dicts in request class
Released 2021-09-24
- Packaging Type Information (PEP 561)
Released 2021-10-09
- Extends JWT validation cases.
- Adds JWT utils tests.
Released 2021-10-09
- Adds Authorization Inheritance from guest_permissions
- EXPIRATION_KEY is now hardcoded as exp
- Makes iss and exp (previously EXPIRATION_KEY) fields mandatory when authorizing.
- Adds Debug Mode
- Moves All JWT validation to decoding function from resource
Released 2021-11-17
- Extends CORS capabilities and adds relevant unit tests.
Released 2022-04-12
- Adds Event Broker to support Asynchronous event handling with AWS Lambda
- Introduces isort for better sorting and related checks
- Updates dependencies
Released 2022-04-15
- Adds EventApi and EventAware Resource
- Adds Response as a part of Resource, so it can be easily accessed by post hook.
- Improves mypy situation for tests
- Makes Resource's post_request_hook more fault-tolerant
Released 2022-04-22
- EventApi and EventAware improvements
- Refactors Event to APIGatewayEvent
Released 2022-06-04
- Fixes EventAPI to send events in chunks (conforms to AWS limits)
- Adds real property methods that protect events list the better way
Released 2022-07-25
- Adds a decorator that makes the given function an event emitter
Released 2022-07-26
- Adds optional error codes to exceptions (the LambdaFWException class)
Released 2022-07-28
- Fixes an issue with permissions overwriting
Released 2022-07-31
- Starts freezing dependencies with the usage of pip-tools
Released 2022-07-31
- Logs an error when required ref is missing in the Authorization policy
- Accepts the error_code also during initialization of the Exception
Released 2022-08-01
- Adds missing exception Too Early - 425
Released 2022-08-05
- Use the same class representing Event (both sent/received)
- Extends Event Broker with additional, optional parameters
- Adds additional verbose test running to makefile
- Updates dev dependencies