我编写了一个 lambda 授权器函数,它调用两个自定义授权服务来验证输入令牌。因此,我想从 lambda 授权方返回状态代码 401 的不同可能消息。例如,
“凭证无效”、“凭证缺失”、“令牌已撤销”。
但是,如果未经授权,有没有办法自定义错误消息?
我使用此库实现了它:https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_classes/#api-gateway-authorizer
通过示例,您可以简单地:
from aws_lambda_powertools.utilities.data_classes.api_gateway_authorizer_event import (
DENY_ALL_RESPONSE,)
if unautohrize:
return DENY_ALL_RESPONSE
它将打印为返回值:
{"Message":"用户无权通过明确拒绝访问此资源"}
是的,请参阅帮助文件此处
提供了一个返回 json/dict 结构的 python 示例。 当用户未经授权时,您可以执行相同的操作来返回您的状态代码和消息。
def lambda_handler(event, context):
json_region = os.environ['AWS_REGION']
return {
"statusCode": 200,
"headers": {
"Content-Type": "application/json"
},
"body": json.dumps({
"Region ": json_region
})
}