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 <cohei...@apache.org> Authored: Fri Jun 16 09:18:10 2017 +0100 Committer: Colm O hEigeartaigh <cohei...@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;