You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oltu.apache.org by as...@apache.org on 2013/12/20 16:48:21 UTC

svn commit: r1552707 - in /oltu/trunk: commons/encodedtoken/src/main/java/org/apache/oltu/commons/encodedtoken/ jose/jws/src/main/java/org/apache/oltu/jose/jws/io/ jose/jws/src/test/java/org/apache/oltu/jose/jws/io/

Author: asanso
Date: Fri Dec 20 15:48:21 2013
New Revision: 1552707

URL: http://svn.apache.org/r1552707
Log:
OLTU-131 - Signature parsing from access token is broken for character encodings that are not single-byte

*  apply patch from Andrei Dulvac (thanks !!)

Modified:
    oltu/trunk/commons/encodedtoken/src/main/java/org/apache/oltu/commons/encodedtoken/TokenWriter.java
    oltu/trunk/jose/jws/src/main/java/org/apache/oltu/jose/jws/io/JWSReader.java
    oltu/trunk/jose/jws/src/test/java/org/apache/oltu/jose/jws/io/JWSWriterTestCase.java

Modified: oltu/trunk/commons/encodedtoken/src/main/java/org/apache/oltu/commons/encodedtoken/TokenWriter.java
URL: http://svn.apache.org/viewvc/oltu/trunk/commons/encodedtoken/src/main/java/org/apache/oltu/commons/encodedtoken/TokenWriter.java?rev=1552707&r1=1552706&r2=1552707&view=diff
==============================================================================
--- oltu/trunk/commons/encodedtoken/src/main/java/org/apache/oltu/commons/encodedtoken/TokenWriter.java (original)
+++ oltu/trunk/commons/encodedtoken/src/main/java/org/apache/oltu/commons/encodedtoken/TokenWriter.java Fri Dec 20 15:48:21 2013
@@ -30,14 +30,13 @@ public abstract class TokenWriter<T> ext
         String encodedBody = base64Encode(body);
 
         String signature = writeSignature(token);
-        String encodedSignature = base64Encode(signature);
 
         return new StringBuilder()
                    .append(encodedHeader)
                    .append('.')
                    .append(encodedBody)
                    .append('.')
-                   .append(encodedSignature)
+                   .append(signature)
                    .toString();
     }
 

Modified: oltu/trunk/jose/jws/src/main/java/org/apache/oltu/jose/jws/io/JWSReader.java
URL: http://svn.apache.org/viewvc/oltu/trunk/jose/jws/src/main/java/org/apache/oltu/jose/jws/io/JWSReader.java?rev=1552707&r1=1552706&r2=1552707&view=diff
==============================================================================
--- oltu/trunk/jose/jws/src/main/java/org/apache/oltu/jose/jws/io/JWSReader.java (original)
+++ oltu/trunk/jose/jws/src/main/java/org/apache/oltu/jose/jws/io/JWSReader.java Fri Dec 20 15:48:21 2013
@@ -27,14 +27,14 @@ import org.apache.oltu.jose.jws.JWS;
 public final class JWSReader extends TokenReader<JWS> {
 
     @Override
-    protected JWS build(String rawString, String decodedHeader, String decodedBody, String decodedSignature) {
+    protected JWS build(String rawString, String decodedHeader, String decodedBody, String encodedSignature) {
         final JWS.Builder jwsBuilder = new JWS.Builder();
 
         new JWSHeaderParser(jwsBuilder).read(decodedHeader);
 
         return jwsBuilder
                .setPayload(decodedBody)
-               .setSignature(decodedSignature)
+               .setSignature(encodedSignature)
                .build();
     }
 

Modified: oltu/trunk/jose/jws/src/test/java/org/apache/oltu/jose/jws/io/JWSWriterTestCase.java
URL: http://svn.apache.org/viewvc/oltu/trunk/jose/jws/src/test/java/org/apache/oltu/jose/jws/io/JWSWriterTestCase.java?rev=1552707&r1=1552706&r2=1552707&view=diff
==============================================================================
--- oltu/trunk/jose/jws/src/test/java/org/apache/oltu/jose/jws/io/JWSWriterTestCase.java (original)
+++ oltu/trunk/jose/jws/src/test/java/org/apache/oltu/jose/jws/io/JWSWriterTestCase.java Fri Dec 20 15:48:21 2013
@@ -32,9 +32,9 @@ public final class JWSWriterTestCase {
                          .setType("JWT")
                          .setCritical(new String[]{ "exp" })
                          .setPayload("{\"iss\":\"joe\",\r\n \"exp\":1300819380,\r\n \"http://example.com/is_root\":true}")
-                         .setSignature("tߴ���%O�`}ح���%Miֿ�[XXS��y")
+                         .setSignature("dBjftO-_ve-_ve-_vSVP77-9YH3Yre-_ve-_vRbvv70lTWnWv--_vVtYBVhT77-977-9eQ")
                          .build();
-        String actual = jwsWriter.write(jws).replaceAll("\r?\n", "");
+        String actual = jwsWriter.write(jws);
         assertEquals("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImNyaXQiOlsiZXhwIl19.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftO-_ve-_ve-_vSVP77-9YH3Yre-_ve-_vRbvv70lTWnWv--_vVtYBVhT77-977-9eQ",
                      actual);
     }