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

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

                Author: ASF GitHub Bot
            Created on: 25/Mar/21 19:05
            Start Date: 25/Mar/21 19:05
    Worklog Time Spent: 10m 
      Work Description: pzampino commented on a change in pull request #424:
URL: https://github.com/apache/knox/pull/424#discussion_r601768075



##########
File path: 
gateway-provider-security-hadoopauth/src/main/java/org/apache/knox/gateway/hadoopauth/filter/HadoopAuthPostFilter.java
##########
@@ -78,7 +79,14 @@ public void doFilter(ServletRequest request, ServletResponse 
response, FilterCha
     Subject subject = null;
     if (shouldUseJwtFilter(jwtFilter, (HttpServletRequest) request)) {
       try {
-        subject = 
jwtFilter.createSubjectFromToken(jwtFilter.getWireToken(request));
+        Pair<JWTFederationFilter.TokenType, String> wireToken = 
jwtFilter.getWireToken(request);
+        JWTFederationFilter.TokenType tokenType = wireToken.getLeft();
+        String token = wireToken.getRight();
+        if (JWTFederationFilter.TokenType.JWT.equals(tokenType)) {
+          subject = jwtFilter.createSubjectFromToken(token);
+        } else if (JWTFederationFilter.TokenType.Passcode.equals(tokenType)) {

Review comment:
       I see, you mean `JWTFederationFilter.PASSCODE.equals(tokenType)` ; This 
would require changing the parsing logic and resulting Pair contents.




-- 
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.

For queries about this service, please contact Infrastructure at:
[email protected]


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

    Worklog Id:     (was: 572226)
    Time Spent: 3h  (was: 2h 50m)

> Enhance JWTProvider to accept knox.id as Passcode Token
> -------------------------------------------------------
>
>                 Key: KNOX-2556
>                 URL: https://issues.apache.org/jira/browse/KNOX-2556
>             Project: Apache Knox
>          Issue Type: Improvement
>          Components: Server
>    Affects Versions: 1.6.0
>            Reporter: Larry McCay
>            Assignee: Philip Zampino
>            Priority: Major
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> This enhancement enables the use of the previously internal knox.id as a 
> Passcode Token for accessing proxied resources as an Authorization Bearer 
> token or HTTP Basic password. This id has been used to bind incoming 
> KnoxTokens (JWT) that embed such an id to the metadata in the Token State 
> Server in order to provide server side state management.
> The motivation for this is the fact that certain 3rd party BI tooling such as 
> tableau not only have the inability to set a bearer token but also have size 
> limitations on the password field used to collect the username and password 
> credentials.
> We will need to enhance the current JWTProvider to not require an actual JWT 
> but the Passcode Token will represent the same backend metadata.
> This does mean that Passcode Tokens can only be used with the Token State 
> Server functionality enabled for both the KnoxToken service and the 
> JWTProvider federation provider.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to