[ 
https://issues.apache.org/jira/browse/CAMEL-24833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen reassigned CAMEL-24833:
-----------------------------------

    Assignee: Andrea Cosentino

> camel-spiffe - validateJwtSvid should accept the token from the Authorization 
> Bearer header
> -------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24833
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24833
>             Project: Camel
>          Issue Type: Improvement
>            Reporter: Claus Ibsen
>            Assignee: Andrea Cosentino
>            Priority: Major
>
> h2. Problem
> {{spiffe:...?operation=validateJwtSvid}} reads the token from the 
> {{CamelSpiffeToken}} header or, failing that, the message body 
> ({{SpiffeProducer.validateJwtSvid}}). An HTTP caller presents a JWT-SVID as 
> {{Authorization: Bearer <token>}}, which is how the SPIFFE JWT-SVID is meant 
> to travel, so every route that authenticates an HTTP request today needs a 
> small bean or expression to strip the scheme and copy the token into 
> {{CamelSpiffeToken}} (see {{BearerToken}} in the {{ai-tools-spiffe-opa}} 
> example in camel-examples). That is the only Java the assistant route in that 
> example needs.
> h2. Proposal
> * When {{CamelSpiffeToken}} is not set, fall back to the {{Authorization}} 
> header: accept a {{Bearer}} scheme case-insensitively, trim the token, and 
> reject an empty or non-bearer value with a clear {{IllegalArgumentException}} 
> (the same one used today for a missing token) so an {{onException}} can 
> answer 401.
> * Keep the existing header and body sources; the {{Authorization}} header is 
> the last fallback so nothing changes for current users.
> * Document the lookup order in {{spiffe-component.adoc}}, with a YAML example 
> of a {{platform-http}} route validating the bearer token without a bean.
> Optional: an {{Authorization}} header left on the exchange after validation 
> is a credential; mention removing it before the exchange goes further, or 
> offer a {{removeToken=true}} option.
> Related: CAMEL-24831.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to