moresandeep opened a new pull request, #924:
URL: https://github.com/apache/knox/pull/924

   ## What changes were proposed in this pull request?
   
   This PR is a followup to KNOX-3040 and adds support for multiple JWKS 
endpoints. Users can specify one JWKS endpoint or multiple comma separated JWKS 
endpoints as shown in following example.
   
   ```
              <param>
                   <name>knox.token.jwks.url</name>
                   <value>https://example.com/oauth2/keys?accountId=1234567890, 
https://www.googleapis.com/oauth2/v3/certs</value>
               </param>
   ``` 
   Note that the parameter name `knox.token.jwks.url` did not change. 
   
   This PR also fixes some deprecated classes and adds supports for JWKS 
caching and retries (just one retry). 
   TTL for JWKS caching is set to 2 hours. 
   
   ## How was this patch tested?
   
   Following is the log snippet of token verification from one valid and one 
invalid JWKS endpoints (https://example.com/oauth2/keys?accountId=1234567890, 
https://www.googleapis.com/oauth2/v3/certs)
   
   ```
   2024-07-08 23:06:08,004 bfc003e6-5d86-4b09-bf0d-a9f1565e0d60 ERROR 
token.state (DefaultTokenAuthorityService.java:verifyToken(270)) - Failed to 
verify token using JWKS endpoint https://www.googleapis.com/oauth2/v3/certs, 
reason: org.apache.knox.gateway.services.security.token.TokenServiceException: 
Cannot verify token.
   2024-07-08 23:06:13,977 bfc003e6-5d86-4b09-bf0d-a9f1565e0d60 INFO  
federation.jwt (AbstractJWTFilter.java:verifyTokenSignature(514)) - Token 
verification result using provided JWKS Url, verified: true
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@knox.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to