Fix refresh strategy

This commit is contained in:
René Pfeuffer
2018-11-30 17:19:59 +01:00
parent aec5520e57
commit 58268f88db
2 changed files with 3 additions and 2 deletions

View File

@@ -20,6 +20,6 @@ public class PercentageJwtAccessTokenRefreshStrategy implements JwtAccessTokenRe
public boolean shouldBeRefreshed(JwtAccessToken oldToken) {
long liveSpan = oldToken.getExpiration().getTime() - oldToken.getIssuedAt().getTime();
long age = clock.instant().toEpochMilli() - oldToken.getIssuedAt().getTime();
return age/liveSpan > refreshPercentage;
return (float)age/liveSpan > refreshPercentage;
}
}

View File

@@ -47,6 +47,7 @@ public class PercentageJwtAccessTokenRefreshStrategyTest {
when(creationClock.instant()).thenReturn(TOKEN_CREATION);
tokenBuilder = new JwtAccessTokenBuilderFactory(keyGenerator, keyResolver, Collections.emptySet(), creationClock).create();
tokenBuilder.expiresIn(1, HOURS);
tokenBuilder.refreshableFor(1, HOURS);
refreshStrategy = new PercentageJwtAccessTokenRefreshStrategy(refreshClock, 0.5F);
@@ -61,6 +62,6 @@ public class PercentageJwtAccessTokenRefreshStrategyTest {
@Test
public void shouldRefreshWhenTokenIsOld() {
when(refreshClock.instant()).thenReturn(TOKEN_CREATION.plus(31, MINUTES));
assertThat(refreshStrategy.shouldBeRefreshed(tokenBuilder.build())).isFalse();
assertThat(refreshStrategy.shouldBeRefreshed(tokenBuilder.build())).isTrue();
}
}