in component-test/src/main/java/TestRefreshToken.java [126:172]
public void bothRefreshMethodsShouldProduceSamePermissions() throws InterruptedException {
final Permission userPermission = buildUserPermission();
final ApplicationSignatureTestData appPlusSig;
try (final AutoUserContext ignored
= tenantApplicationSecurityEnvironment.createAutoSeshatContext()) {
appPlusSig = setApplicationSignature();
createApplicationPermission(appPlusSig.getApplicationIdentifier(), userPermission);
}
try (final AutoUserContext ignored = loginAdmin()) {
getTestSubject().setApplicationPermissionEnabledForUser(
appPlusSig.getApplicationIdentifier(),
userPermission.getPermittableEndpointGroupIdentifier(),
ADMIN_IDENTIFIER,
true);
}
final TenantRefreshTokenSerializer refreshTokenSerializer = new TenantRefreshTokenSerializer();
final TokenSerializationResult tokenSerializationResult =
refreshTokenSerializer.build(new TenantRefreshTokenSerializer.Specification()
.setUser(ADMIN_IDENTIFIER)
.setSecondsToLive(30)
.setKeyTimestamp(appPlusSig.getKeyTimestamp())
.setPrivateKey(appPlusSig.getKeyPair().privateKey())
.setSourceApplication(appPlusSig.getApplicationIdentifier()));
final FeignTargetWithCookieJar<IdentityManager> identityManagerWithCookieJar
= apiFactory.createWithCookieJar(IdentityManager.class, testEnvironment.serverURI());
identityManagerWithCookieJar.putCookie("/token", TokenConstants.REFRESH_TOKEN_COOKIE_NAME, tokenSerializationResult.getToken());
final Authentication applicationAuthenticationViaCookie = identityManagerWithCookieJar.getFeignTarget().refresh();
final Authentication applicationAuthenticationViaParam = getTestSubject().refresh(tokenSerializationResult.getToken());
try (final AutoUserContext ignored = new AutoUserContext(ADMIN_IDENTIFIER, applicationAuthenticationViaCookie.getAccessToken()))
{
checkAccessToUsersAndOnlyUsers();
}
try (final AutoUserContext ignored = new AutoUserContext(ADMIN_IDENTIFIER, applicationAuthenticationViaParam.getAccessToken()))
{
checkAccessToUsersAndOnlyUsers();
}
}