You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@jena.apache.org by GitBox <gi...@apache.org> on 2022/05/03 20:31:32 UTC

[GitHub] [jena] Aklakan commented on issue #1292: Make AuthEnv.registerAuthModifier public (if possible for jena 4.5.0)

Aklakan commented on issue #1292:
URL: https://github.com/apache/jena/issues/1292#issuecomment-1116569668

   Hi Andy, thanks alot - the snippet below works:
   ```java
      String bearerToken = "SECRET";
      HttpRequestModifier modifier = (params, headers) -> {
          headers.put("Authorization", "Bearer " + bearerToken);
      };
      RegistryRequestModifier.get().add(url, modifier);
   ```
   
   However, there is a minor follow up issue:
   If the bearer token times out, then first a message is logged such as:
   ```
   Bearer error="invalid_token", error_description="An error occurred while attempting to decode the Jwt: Jwt expired at 2022-05-03T20:22:50Z", error_uri="https://tools.ietf.org/html/rfc6750#section-3.1"
   ```
   
   but then it causes a non-ideal NPE in AuthLib.authenticateHeader:
   
   ```java
   public class AuthLib {
       private static AuthChallenge authenticateHeader(HttpResponse<?> httpResponse) {
           List<String> headers = httpResponse.headers().allValues("WWW-Authenticate");
           if ( headers.size() == 0 )
               return null;
           // Choose first digest or first basic.
           AuthChallenge aHeader = null;
           String result = null;
           for ( String headerValue : headers ) {
               AuthChallenge aHeader2 = AuthChallenge.parse(headerValue);
               if ( aHeader2 == null )
                   AuthEnv.LOG.warn("Bad authentication response - ignored: "+headerValue);
               // Prefer Digest
               switch(aHeader2.authScheme) { // BUG: If aHeader2 is null we get both a log message but here it raises an NPE
                   case  DIGEST :
                       return aHeader2;
                   case BASIC:
   ...
   


-- 
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: issues-unsubscribe@jena.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@jena.apache.org
For additional commands, e-mail: issues-help@jena.apache.org