[ 
https://issues.apache.org/jira/browse/KNOX-3109?focusedWorklogId=962345&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-962345
 ]

ASF GitHub Bot logged work on KNOX-3109:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 18/Mar/25 15:13
            Start Date: 18/Mar/25 15:13
    Worklog Time Spent: 10m 
      Work Description: lmccay commented on code in PR #1005:
URL: https://github.com/apache/knox/pull/1005#discussion_r2001296584


##########
gateway-provider-security-jwt/src/main/java/org/apache/knox/gateway/provider/federation/jwt/filter/JWTFederationFilter.java:
##########
@@ -279,7 +279,14 @@ public Pair<TokenType, String> getWireToken(final 
ServletRequest request) throws
               // what follows the bearer designator should be the JWT token 
being used
               // to request or as an access token
               token = header.substring(BEARER.length());
-              parsed = Pair.of(TokenType.JWT, token);
+
+              // if this appears to be a JWT token then attempt to use it as 
such
+              // otherwise assume it is a passcode token
+              if (isJWT(token)) {

Review Comment:
   hmmm, I don't really follow. getWireToken already returns Pair<TokenType, 
String> which is essentially the same thing, no? Are you suggesting that we 
refactor that to push it through the JWTToken ctor and catch an exception on 
every passcode use? Throwing exceptions for flow control is generally a poor 
practice for performance and design reasons. The current implementation only 
throws exceptions in exceptional conditions. Are you suggesting something other 
than my assumptions here?





Issue Time Tracking
-------------------

    Worklog Id:     (was: 962345)
    Time Spent: 0.5h  (was: 20m)

> Passcode Tokens to use as Bearer Token
> --------------------------------------
>
>                 Key: KNOX-3109
>                 URL: https://issues.apache.org/jira/browse/KNOX-3109
>             Project: Apache Knox
>          Issue Type: Improvement
>          Components: Server
>            Reporter: Larry McCay
>            Assignee: Larry McCay
>            Priority: Major
>             Fix For: 2.2.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Currently, passcode tokens can only be used as passwords with HTTP Basic 
> authentication headers.
> This change will enable them to be accepted as Authorization: Bearer tokens.
> Will need to be able to distinguish between a JWT and a Passcode token when 
> presented as a Bearer token.



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

Reply via email to