在AWS API网关中,如果使用自定义身份验证(Custom Authorizer)并且请求的HTTP操作不受支持,API网关将返回缺失身份验证令牌的错误响应。为了解决这个问题,可以在API网关的设置中添加一个缺省的身份验证(Default Authorizer)。下面是一个使用AWS CLI来添加缺省身份验证的示例代码:
aws apigateway update-rest-api \
--rest-api-id \
--patch-operations op=add,path=/defaultAuthorizerId,value=
其中,
是你的API网关的ID,可以在控制台或者通过AWS CLI的aws apigateway get-rest-apis
命令获取。
是你已经创建的身份验证器(Authorizer)的ID。
另外,你还需要确保在API网关的资源和方法设置中,将缺省身份验证器关联到所有未显式指定身份验证器的资源和方法。以下是一个使用AWS CLI来更新资源和方法设置的示例代码:
aws apigateway update-resource \
--rest-api-id \
--resource-id \
--patch-operations op=add,path=/authorizerId,value=
aws apigateway update-method \
--rest-api-id \
--resource-id \
--http-method \
--patch-operations op=add,path=/authorizerId,value=
其中,
是资源的ID,
是HTTP方法,例如GET、POST等,
是你已经创建的身份验证器的ID。
完成上述步骤后,当API网关收到不支持的HTTP操作时,将使用缺省身份验证器进行身份验证,避免返回缺失身份验证令牌的错误响应。