Open coreyowensbillgo opened 2 years ago
Hi @coreyowensbillgo, thanks for reporting this issue. Would you be willing to work on a pull request for it? I'm happy to review, merge it and release a new version. Otherwise I'll look into it mid/ end of August.
@deki I'll dig further in and confirm if API Gateway is even expanding the event payload with the the clientCert
information when it is sent to a Lambda that's not an "lambda authorizer
". Thank you for the quick reply.
Hi @coreyowensbillgo, have you made progress in the meantime? I plan to get a 1.9 release next month and would like to include a fix.
@deki Apologies for the late response, I've been away on vacation. My work around this had been put on the back-burner, but I'm happy to see you've made some progress!
Yeah I just added the missing properties but haven't made further progress (unittests, testing, docs, ...).
Serverless Java Container version:
eg. 1.5
1.6Implementations:
Jersey / Spring / Spring Boot / Spring Boot 2 / Spark
Spring BootFramework version:
eg SpringBoot 2.2.6.RELEASE
2.6.6Frontend service:
REST API / HTTP API / ALB
REST APIScenario
I am utilizing MTLS authentication for my API Gateway: https://aws.amazon.com/blogs/compute/introducing-mutual-tls-authentication-for-amazon-api-gateway/
In the documentation, it mentions that the
clientCert
is populated in the API GW's event payload when it is passed along to Lambda authorizers via therequestContext
.I want to base my authorization on the clientCert's subjectDN's CN within my java code, but I am not sure if it's possible or how I can access the
clientCert
from within my Java lambda utilizing aws-serverless-java-container. (I realize the lambda isn't alambda authorizer
, but I was hoping it may still be accessible) Any suggestions?Expected behavior
I would expect that
clientCert
is available withinAwsProxyRequest
'sAwsProxyRequestContext
EX:Actual behavior
I don't see anything in
AwsProxyRequest
orAwsProxyRequestContext
related to certs or authentication.Steps to reproduce
Set up a REST API Gateway pointing to your
aws-serverless-java-container
lambda. Add custom domain. Create certs. Enable MTLS. Make call to the REST API Gateway and attempt to findclientCert
object from API GW event payload.Full log output
N/A