You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by co...@apache.org on 2017/06/16 08:46:00 UTC

syncope git commit: Remove hard-coded reference to HS512 so that we can generate any signature that is injected instead

Repository: syncope
Updated Branches:
  refs/heads/2_0_X 78b68bf4b -> 841b8a98f


Remove hard-coded reference to HS512 so that we can generate any signature that is injected instead


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/841b8a98
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/841b8a98
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/841b8a98

Branch: refs/heads/2_0_X
Commit: 841b8a98f1335e294fd81066e51cfd56bc792b23
Parents: 78b68bf
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Fri Jun 16 09:18:10 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Fri Jun 16 09:18:42 2017 +0100

----------------------------------------------------------------------
 .../java/data/AccessTokenDataBinderImpl.java    | 23 +++++++-------------
 .../org/apache/syncope/fit/core/JWTITCase.java  |  2 --
 2 files changed, 8 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/841b8a98/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AccessTokenDataBinderImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AccessTokenDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AccessTokenDataBinderImpl.java
index ae88565..d4d8afc 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AccessTokenDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AccessTokenDataBinderImpl.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.provisioning.java.data;
 
 import com.fasterxml.uuid.Generators;
 import com.fasterxml.uuid.impl.RandomBasedGenerator;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.Map;
 import javax.annotation.Resource;
@@ -83,17 +82,14 @@ public class AccessTokenDataBinderImpl implements AccessTokenDataBinder {
             final String subject, final int duration, final Map<String, Object> claims) {
 
         Date now = new Date();
-
-        Calendar expiry = Calendar.getInstance();
-        expiry.setTime(now);
-        expiry.add(Calendar.MINUTE, duration);
+        Date expiry = new Date(now.getTime() + 60L * 1000L * duration);
 
         JwtClaims jwtClaims = new JwtClaims();
         jwtClaims.setTokenId(UUID_GENERATOR.generate().toString());
         jwtClaims.setSubject(subject);
         jwtClaims.setIssuedAt(now.getTime());
         jwtClaims.setIssuer(jwtIssuer);
-        jwtClaims.setExpiryTime(expiry.getTime().getTime());
+        jwtClaims.setExpiryTime(expiry.getTime());
         jwtClaims.setNotBefore(now.getTime());
         for (Map.Entry<String, Object> entry : claims.entrySet()) {
             jwtClaims.setClaim(entry.getKey(), entry.getValue());
@@ -105,7 +101,7 @@ public class AccessTokenDataBinderImpl implements AccessTokenDataBinder {
 
         String signed = producer.signWith(jwsSignatureProvider);
 
-        return Triple.of(jwtClaims.getTokenId(), signed, expiry.getTime());
+        return Triple.of(jwtClaims.getTokenId(), signed, expiry);
     }
 
     @Override
@@ -161,21 +157,18 @@ public class AccessTokenDataBinderImpl implements AccessTokenDataBinder {
         JwsJwtCompactConsumer consumer = new JwsJwtCompactConsumer(accessToken.getBody());
 
         Date now = new Date();
-        Calendar expiry = Calendar.getInstance();
-        expiry.setTime(now);
-        expiry.add(Calendar.MINUTE,
-                confDAO.find("jwt.lifetime.minutes", "120").getValues().get(0).getLongValue().intValue());
-        consumer.getJwtClaims().setExpiryTime(expiry.getTime().getTime());
+        int duration = confDAO.find("jwt.lifetime.minutes", "120").getValues().get(0).getLongValue().intValue();
+        Date expiry = new Date(now.getTime() + 60L * 1000L * duration);
+        consumer.getJwtClaims().setExpiryTime(expiry.getTime());
 
         JwsHeaders jwsHeaders = new JwsHeaders(JoseType.JWT, jwsSignatureProvider.getAlgorithm());
         JwtToken token = new JwtToken(jwsHeaders, consumer.getJwtClaims());
         JwsJwtCompactProducer producer = new JwsJwtCompactProducer(token);
 
         String body = producer.signWith(jwsSignatureProvider);
-        Date expiryTime = expiry.getTime();
 
         accessToken.setBody(body);
-        accessToken.setExpiryTime(expiryTime);
+        accessToken.setExpiryTime(expiry);
 
         if (!adminUser.equals(accessToken.getOwner())) {
             try {
@@ -189,7 +182,7 @@ public class AccessTokenDataBinderImpl implements AccessTokenDataBinder {
 
         accessTokenDAO.save(accessToken);
 
-        return Pair.of(body, expiryTime);
+        return Pair.of(body, expiry);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/841b8a98/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
index 722b8b7..42164fc 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
@@ -25,8 +25,6 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
-import java.util.Map;
-import java.util.UUID;
 
 import javax.ws.rs.core.Response;
 import javax.xml.ws.WebServiceException;