Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 7494b85b authored by Nicolas Bailliet's avatar Nicolas Bailliet
Browse files

Merge branch 'hotfix/IUAINFRA-63' into 'develop'

IUAINFRA-63 | Fix on AudienceSecretRetriever and UTs, versions updated in POM

See merge request !9
parents 417b5f01 ba4f7d68
No related branches found
No related tags found
2 merge requests!12Develop,!9IUAINFRA-63 | Fix on AudienceSecretRetriever and UTs, versions updated in POM
...@@ -50,12 +50,12 @@ ...@@ -50,12 +50,12 @@
<dependency> <dependency>
<groupId>net.ihe.gazelle</groupId> <groupId>net.ihe.gazelle</groupId>
<artifactId>sb.iua-standard-block</artifactId> <artifactId>sb.iua-standard-block</artifactId>
<version>1.0.0</version> <version>1.0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.ihe.gazelle</groupId> <groupId>net.ihe.gazelle</groupId>
<artifactId>sb.jwt-standard-block</artifactId> <artifactId>sb.jwt-standard-block</artifactId>
<version>1.0.0</version> <version>1.0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.ihe.gazelle</groupId> <groupId>net.ihe.gazelle</groupId>
......
...@@ -16,6 +16,7 @@ import net.ihe.gazelle.sb.jwtstandardblock.business.jwt.JSONWebToken; ...@@ -16,6 +16,7 @@ import net.ihe.gazelle.sb.jwtstandardblock.business.jwt.JSONWebToken;
import net.ihe.gazelle.sb.jwtstandardblock.business.jwt.JSONWebTokenClaimSet; import net.ihe.gazelle.sb.jwtstandardblock.business.jwt.JSONWebTokenClaimSet;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.sql.Date;
import java.time.Duration; import java.time.Duration;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
...@@ -92,8 +93,8 @@ public class TokenGenerator { ...@@ -92,8 +93,8 @@ public class TokenGenerator {
claimSet.setAudience(accessTokenRequest.getAudience()); claimSet.setAudience(accessTokenRequest.getAudience());
ZonedDateTime now = ZonedDateTime.now(ZoneId.of("UTC")); ZonedDateTime now = ZonedDateTime.now(ZoneId.of("UTC"));
claimSet.setIssuedAt(String.valueOf(now.toEpochSecond())); claimSet.setIssuedAt(new Date(now.toEpochSecond()*1000));
claimSet.setExpiration(String.valueOf(now.plus(duration).toEpochSecond())); claimSet.setExpiration(new Date(now.plus(duration).toEpochSecond()*1000));
claimSet.setJwtId(UUID.randomUUID().toString()); claimSet.setJwtId(UUID.randomUUID().toString());
......
...@@ -4,6 +4,7 @@ import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever ...@@ -4,6 +4,7 @@ import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever
import net.ihe.gazelle.framework.loggerservice.application.GazelleLogger; import net.ihe.gazelle.framework.loggerservice.application.GazelleLogger;
import net.ihe.gazelle.framework.loggerservice.application.GazelleLoggerFactory; import net.ihe.gazelle.framework.loggerservice.application.GazelleLoggerFactory;
import javax.enterprise.inject.Alternative;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.util.Properties; import java.util.Properties;
...@@ -11,12 +12,19 @@ import java.util.Properties; ...@@ -11,12 +12,19 @@ import java.util.Properties;
/** /**
* {@link AudienceSecretRetriever} used by SoapUI project to retrieve secrets. * {@link AudienceSecretRetriever} used by SoapUI project to retrieve secrets.
*/ */
@Alternative
public class AudienceSecretRetrieverForSoapui implements AudienceSecretRetriever { public class AudienceSecretRetrieverForSoapui implements AudienceSecretRetriever {
private static final GazelleLogger LOGGER = GazelleLoggerFactory.getInstance().getLogger(AudienceSecretRetrieverForSoapui.class); private static final GazelleLogger LOGGER = GazelleLoggerFactory.getInstance().getLogger(AudienceSecretRetrieverForSoapui.class);
private String propertiesFile; private String propertiesFile;
/**
* Default empty construction for injection and alternative
*/
public AudienceSecretRetrieverForSoapui() {
//Empty constructor for injection
}
/** /**
* Constructor allowing to configure the properties file path. * Constructor allowing to configure the properties file path.
......
...@@ -7,15 +7,17 @@ import net.ihe.gazelle.framework.preferencesmodelapi.application.NamespaceExcept ...@@ -7,15 +7,17 @@ import net.ihe.gazelle.framework.preferencesmodelapi.application.NamespaceExcept
import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesService; import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesService;
import net.ihe.gazelle.framework.preferencesmodelapi.application.PreferenceException; import net.ihe.gazelle.framework.preferencesmodelapi.application.PreferenceException;
import javax.enterprise.inject.Default;
import javax.inject.Inject; import javax.inject.Inject;
/** /**
* AudienceSecretRetriever implementation * AudienceSecretRetriever implementation
*/ */
@Default
public class AudienceSecretRetrieverImpl implements AudienceSecretRetriever { public class AudienceSecretRetrieverImpl implements AudienceSecretRetriever {
private static final GazelleLogger LOGGER = GazelleLoggerFactory.getInstance().getLogger(AudienceSecretRetrieverImpl.class); private static final GazelleLogger LOGGER = GazelleLoggerFactory.getInstance().getLogger(AudienceSecretRetrieverImpl.class);
private static final String AUDIENCE_JNDI_NAMESPACE = "java:/app/gazelle/chiua-validator-service/operational-preferences"; private static final String AUDIENCE_JNDI_NAMESPACE = "java:/app/gazelle/audience-retriever/operational-preferences";
@Inject @Inject
private OperationalPreferencesService preferencesService; private OperationalPreferencesService preferencesService;
......
...@@ -3,7 +3,9 @@ package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter; ...@@ -3,7 +3,9 @@ package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServer; import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServer;
import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui; import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
import javax.inject.Inject;
import javax.ws.rs.GET; import javax.ws.rs.GET;
import javax.ws.rs.Path; import javax.ws.rs.Path;
import javax.ws.rs.QueryParam; import javax.ws.rs.QueryParam;
...@@ -19,10 +21,22 @@ public class AuthorizationServerService { ...@@ -19,10 +21,22 @@ public class AuthorizationServerService {
private DummyAuthzServer dummyAuthzServer; private DummyAuthzServer dummyAuthzServer;
/** /**
* Default constructor for the class. * Default constructor
*
*/ */
public AuthorizationServerService() { public AuthorizationServerService() {
//EMPTY
}
/**
* Injected constructor.
*
* @param audienceSecretRetriever audience secret retriever
*/
@Inject
public AuthorizationServerService(AudienceSecretRetriever audienceSecretRetriever) {
dummyAuthzServer = new DummyAuthzServerSoapui(); dummyAuthzServer = new DummyAuthzServerSoapui();
((DummyAuthzServerSoapui) dummyAuthzServer).setAudienceSecretRetriever(audienceSecretRetriever);
} }
/** /**
...@@ -37,10 +51,10 @@ public class AuthorizationServerService { ...@@ -37,10 +51,10 @@ public class AuthorizationServerService {
/** /**
* get a dummy access token * get a dummy access token
* *
* @param userId * @param userId user id
* @param audienceId * @param audienceId audience id
* @param purposeOfUse * @param purposeOfUse purpose of use
* @param resourceId * @param resourceId resource id
* @return an access token * @return an access token
*/ */
@GET @GET
......
package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter; package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
...@@ -18,11 +17,7 @@ class AuthorizationServerServiceTest { ...@@ -18,11 +17,7 @@ class AuthorizationServerServiceTest {
*/ */
@Test @Test
public void getAccessToken() { public void getAccessToken() {
AuthorizationServerService authorizationServerService = new AuthorizationServerService(); AuthorizationServerService authorizationServerService = new AuthorizationServerService((String audience) -> "myBeautifulKeyWhichIsAJWTSecretSoSecret");
DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui();
dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "myBeautifulKeyWhichIsAJWTSecretSoSecret");
authorizationServerService.setDummyAuthzServer(dummyAuthzServer);
assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null), assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null),
"Provided access token shall not be null !"); "Provided access token shall not be null !");
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment