AWS signature version 4 signing process for the python requests module
84
{
"context": "This evaluation assesses the engineer's ability to extend the aws-requests-auth package through subclassing to implement custom credential management. The focus is on properly using the package's extensibility features, particularly subclassing AWSRequestsAuth and overriding the get_aws_request_headers_handler method to enable dynamic credential loading from a configuration file.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Subclasses AWSRequestsAuth",
"description": "The FileBasedAWSAuth class properly inherits from AWSRequestsAuth (from aws_requests_auth.aws_auth import AWSRequestsAuth)",
"max_score": 25
},
{
"name": "Overrides credential handler",
"description": "Overrides the get_aws_request_headers_handler() method to implement custom credential loading behavior instead of using static credentials",
"max_score": 25
},
{
"name": "Dynamic credential loading",
"description": "Reads credentials from the JSON configuration file each time authentication is needed, enabling credential rotation between requests",
"max_score": 20
},
{
"name": "Proper initialization",
"description": "Correctly calls the parent class __init__ method or properly initializes authentication with aws_host during object construction",
"max_score": 15
},
{
"name": "Session token support",
"description": "Properly handles the optional aws_session_token (aws_token parameter) from the config file, passing it to AWSRequestsAuth when present",
"max_score": 10
},
{
"name": "Implements __call__ method",
"description": "Implements the __call__(self, request) method to work as a requests authentication handler, allowing integration with requests.get/post/etc using auth=FileBasedAWSAuth(...)",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-aws-requests-authdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10