0

我正在使用 AWS Elastic Load Balancer 对用户进行身份验证,该用户对用户声明进行签名,以便应用程序可以验证签名并验证声明是否由负载均衡器发送,如下所述:

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html#user-claims-encoding

要验证签名,需要请求位于以下位置的公钥:

https://public-keys.auth.elb.region.amazonaws.com/key-id

请注意,key-id 是动态的,并且在child字段中的 header 上沿 JWT 发送。

{
   "alg": "algorithm",
   "kid": "12345678-1234-1234-1234-123456789012",
   "signer": "arn:aws:elasticloadbalancing:region-code:account-id:loadbalancer/app/load-balancer-name/load-balancer-id", 
   "iss": "url",
   "client": "client-id",
   "exp": "expiration"
}

在应用程序级别,我想使用 Quarkus 和 smallrye-jwt 来验证 JWT。阅读指南:

https://quarkus.io/guides/security-jwt#configuration-reference

有接受 URL 的配置mp.jwt.verify.publickey.location ,但是当来自 AWS 的公钥 URL 需要从 JWT 标头中提取密钥 ID时,我该如何配置它?

4

0 回答 0