diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
index 8b850a54c42d5d7b0d19d13483d6dd8d1588ef2c..907deacf605a3970c72c385332b4ac9fa09cb461 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
@@ -32,7 +32,7 @@ public class DummyAuthzServerSoapui implements DummyAuthzServer {
     }
 
     /**
-     *  Constructor with the path for the class.
+     * Constructor with the path for the class.
      */
     public DummyAuthzServerSoapui(String path) {
         audienceSecretRetriever = new AudienceSecretRetrieverForSoapui(path);
@@ -90,8 +90,8 @@ public class DummyAuthzServerSoapui implements DummyAuthzServer {
         } catch (EncodingException | TokenRequestException e) {
             LOGGER.error("Error generating Access Token", e);
         }
-            return token;
-        }
+        return token;
+    }
 
 
 }
diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
index 0e52ad2381ece3743304550087c38c97e4b38be5..3fe9ee15cbc77103c6a26ad976046f7d751d2d8a 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
@@ -69,7 +69,7 @@ public class TokenGenerator {
             throw new TokenRequestException("Unsupported issuer");
         }
 
-        if (accessTokenRequest.getAudience() ==null || accessTokenRequest.getAudience().isEmpty()) {
+        if (accessTokenRequest.getAudience() == null || accessTokenRequest.getAudience().isEmpty()) {
             throw new TokenRequestException("Audience is null or empty");
         }
 
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
index 1fb14a903b8a14b6e8916014773c68654f8a5357..8f0042970e738ad14662d2393003be6f17cc51c8 100644
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
+++ b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
@@ -14,7 +14,7 @@ class DummyAuthzServerSoapuiTest {
     private static final String AUDIENCE = "audience";
 
     /**
-     *  get access token with an Audience path defined
+     * get access token with an Audience path defined
      */
     @Test
     public void getAccessTokenWithPathAudienceTest() {
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java
index 4e21eba398ce593ac0090aba790db034bfc2c3b3..702ef7417b58654e9ee408642fcfcc9b81d9292b 100644
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java
+++ b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGeneratorTest.java
@@ -13,6 +13,9 @@ import java.time.Duration;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
+/**
+ * Tests for {@link TokenGenerator}
+ */
 class TokenGeneratorTest {
 
     private static final String ALGORITHM = "HS256";
@@ -23,11 +26,20 @@ class TokenGeneratorTest {
     private static final Duration DURATION = Duration.ofMinutes(5);
     private static AudienceSecretRetrieverTestImpl AUDIENCE_RETRIEVER = new AudienceSecretRetrieverTestImpl();
 
+    /**
+     * Init audience available to generate token.
+     */
     @BeforeEach
     public void initAudience() {
         AUDIENCE_RETRIEVER.addAudience(AUDIENCE, "myBeautifulKeyWhichIsAJWTSecretSoSecret");
     }
 
+    /**
+     * Default generation of a token
+     *
+     * @throws EncodingException     if something wrong happens during encoding
+     * @throws TokenRequestException if the token request is not valid
+     */
     @Test
     public void generateAccessTokenTest() throws EncodingException, TokenRequestException {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
@@ -41,9 +53,11 @@ class TokenGeneratorTest {
         assertNotNull(encodedIUAToken);
     }
 
-
+    /**
+     * Test with a null signature.
+     */
     @Test
-    public void generateAccessTokenNullSignatureTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullSignatureTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(null);
 
@@ -54,8 +68,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating token with unsupported issuer.
+     */
     @Test
-    public void generateAccessTokenUnsupportedIssuerTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenUnsupportedIssuerTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest("blabla", SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -66,8 +83,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with a null subject.
+     */
     @Test
-    public void generateAccessTokenNullIssuerTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullIssuerTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(null, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -78,8 +98,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with unsupported subject.
+     */
     @Test
-    public void generateAccessTokenUnsupportedSubjectTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenUnsupportedSubjectTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, "subject", AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -90,8 +113,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with null subject.
+     */
     @Test
-    public void generateAccessTokenNullSubjectTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullSubjectTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, null, AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -102,8 +128,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with unsupported token type.
+     */
     @Test
-    public void generateAccessTokenUnsupportedTokenTypeTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenUnsupportedTokenTypeTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TokenType.SAML);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -114,8 +143,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with null token type.
+     */
     @Test
-    public void generateAccessTokenNullTokenTypeTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullTokenTypeTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, null);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -126,8 +158,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with unsupported algo.
+     */
     @Test
-    public void generateAccessTokenUnsupportedAlgoTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenUnsupportedAlgoTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature("algo", "secret"));
 
@@ -138,8 +173,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with null algo.
+     */
     @Test
-    public void generateAccessTokenNullAlgoTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullAlgoTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, AUDIENCE, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(null, "secret"));
 
@@ -150,8 +188,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with null audience.
+     */
     @Test
-    public void generateAccessTokenNullAudienceTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullAudienceTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, null, DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -162,8 +203,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
+    /**
+     * Test generating a token with unsupported audience.
+     */
     @Test
-    public void generateAccessTokenUnknownAudienceTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenUnknownAudienceTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -174,9 +218,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
-
+    /**
+     * Test generating a token with empty audience.
+     */
     @Test
-    public void generateAccessTokenEmptyAudienceTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenEmptyAudienceTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "", DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -187,9 +233,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
-
+    /**
+     * Test generating a token with empty secret.
+     */
     @Test
-    public void generateAccessTokenEmptySecretTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenEmptySecretTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -200,9 +248,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
-
+    /**
+     * Test generating a token with null secret.
+     */
     @Test
-    public void generateAccessTokenNullSecretTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenNullSecretTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", DURATION, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
@@ -213,9 +263,11 @@ class TokenGeneratorTest {
         assertThrows(TokenRequestException.class, () -> tokenGenerator.generateAccessToken(accessTokenRequest), "Unsupported issuer");
     }
 
-
+    /**
+     * Test generating a token with null Duration.
+     */
     @Test
-    public void generateAccessTokenDurationNullTest() throws EncodingException, TokenRequestException {
+    public void generateAccessTokenDurationNullTest() {
         AccessTokenRequest accessTokenRequest = new AccessTokenRequest(ISSUER, SUBJECT, "pouet", null, TOKEN_TYPE);
         accessTokenRequest.setSignature(new SymmetricSignature(ALGORITHM, "secret"));
 
diff --git a/audience-retriever/pom.xml b/audience-retriever/pom.xml
index a191e10242df4e5fed6f549f4c7e83a64709bd36..df3b5e911c0a3c63d91769345822d9f8bcfb9d28 100644
--- a/audience-retriever/pom.xml
+++ b/audience-retriever/pom.xml
@@ -32,6 +32,14 @@
             <artifactId>framework.preferences-model-api</artifactId>
             <version>1.0.0</version>
         </dependency>
+
+        <!-- Implementation of Operational Preferences -->
+        <dependency>
+            <groupId>net.ihe.gazelle</groupId>
+            <artifactId>framework.operational-preferences-service</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+
     </dependencies>
 
 </project>
diff --git a/audience-retriever/src/test/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapuiTest.java b/audience-retriever/src/test/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapuiTest.java
index 07611a2b66fe9fb2ea67971e771c09ff7d3065b7..367b104ce2e757277a64688f6c88b2e5840a5f19 100644
--- a/audience-retriever/src/test/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapuiTest.java
+++ b/audience-retriever/src/test/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapuiTest.java
@@ -15,7 +15,8 @@ class AudienceSecretRetrieverForSoapuiTest {
      */
     @Test
     void retrieveSecretForAudienceWithPropertiesPathTest() {
-        AudienceSecretRetrieverForSoapui audienceSecretRetrieverForSoapui = new AudienceSecretRetrieverForSoapui("/opt/simulators/audience.properties");
+        AudienceSecretRetrieverForSoapui audienceSecretRetrieverForSoapui = new AudienceSecretRetrieverForSoapui("/opt/simulators/audience" +
+                ".properties");
         assertNull(audienceSecretRetrieverForSoapui.retrieveSecretForAudience("monpetitsecret"));
     }
 
diff --git a/audience-retriever/src/test/resources/README.txt b/audience-retriever/src/test/resources/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c6f818dec4fc4af999ff9c6b505592351a4c9e14
--- /dev/null
+++ b/audience-retriever/src/test/resources/README.txt
@@ -0,0 +1 @@
+Put here your test resources.
\ No newline at end of file
diff --git a/dummy-authorization-server-service/README.md b/dummy-authorization-server-service/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..aa0368e627e52da59cbeca548a18979bb80096a3
--- /dev/null
+++ b/dummy-authorization-server-service/README.md
@@ -0,0 +1,39 @@
+# Dummy Authorization Server Service
+
+This service mock an Access Token Provider, giving a mocked token using one of available user id 
+and a secret that can be configured depending on the used audience.
+
+## Request examples 
+
+```http://localhost:8780/authorization-server/mock-token?userId=aamrein&audienceId=audience```
+
+| Parameter Name  | Usage                                                             |
+|-------------|-----------------------------------------------------------------------|
+| userId      | User for whom the token is generated                                  |
+| audienceId  | ID of the audience used to retrieve secret in Gazelle configurations. |
+
+The response body to this request will be the content of the generated token.
+
+## Available user ID
+
+| User ID  |
+|----------|
+| aamrein  |
+
+## Install the tool
+
+Sources are available [here](https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/access-token-provider)
+
+Deploy the `app.dummy-authorization-server-service-X.X.X.war` artifact in a wildfly 18 server. 
+No specific wildfly configuration is needed for the tool to work.
+
+## Configure Audiences
+
+Edit the file `/opt/simulators/audience.properties`, add a property for each audience that needs to be configured :
+
+```
+audience1=secret1
+audience2=secret2
+audience3=secret3
+...
+```
\ No newline at end of file
diff --git a/dummy-authorization-server-service/pom.xml b/dummy-authorization-server-service/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b494a152864051db6b8c3bd11ccbbf2a36f97bc5
--- /dev/null
+++ b/dummy-authorization-server-service/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>app.access-token-provider</artifactId>
+        <groupId>net.ihe.gazelle</groupId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>net.ihe.gazelle</groupId>
+    <artifactId>app.dummy-authorization-server-service</artifactId>
+    <name>Dummy Authorization Server Service</name>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-api</artifactId>
+            <version>8.0.1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>net.ihe.gazelle</groupId>
+            <artifactId>app.access-token-provider-api</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
new file mode 100644
index 0000000000000000000000000000000000000000..a445982f1222feb810d2f21a74def8affcfb7fa7
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
@@ -0,0 +1,52 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+
+import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServer;
+import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.ext.Provider;
+
+/**
+ * Service for Mock Access Token Provider.
+ */
+@Provider
+@Path(value = "/mock-token")
+public class AuthorizationServerService {
+
+    private DummyAuthzServer dummyAuthzServer;
+
+    /**
+     * Default constructor for the class.
+     */
+    public AuthorizationServerService() {
+        dummyAuthzServer = new DummyAuthzServerSoapui();
+    }
+
+    /**
+     * Setter for the dummyAuthzServer property.
+     *
+     * @param dummyAuthzServer value to set to the property.
+     */
+    public void setDummyAuthzServer(DummyAuthzServer dummyAuthzServer) {
+        this.dummyAuthzServer = dummyAuthzServer;
+    }
+
+    /**
+     * get a dummy access token
+     *
+     * @param userId
+     * @param audienceId
+     * @param purposeOfUse
+     * @param resourceId
+     * @return an access token
+     */
+    @GET
+    public byte[] getAccessToken(@QueryParam("userId") String userId, @QueryParam("audienceId") String audienceId,
+                                 @QueryParam("purposeOfUse") String purposeOfUse, @QueryParam("resourceId") String resourceId) {
+        return dummyAuthzServer.getAccessToken(userId, audienceId, purposeOfUse, resourceId);
+    }
+
+}
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplication.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..90f6d456b3bdaf8c7aba3e1ca966b1388d6c72a4
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplication.java
@@ -0,0 +1,23 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import javax.ws.rs.ApplicationPath;
+import javax.ws.rs.core.Application;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Our Application
+ */
+@ApplicationPath("/")
+public class DummyAuthorizationServerServiceApplication extends Application {
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Set<Class<?>> getClasses() {
+        Set<Class<?>> s = new HashSet<>();
+        s.add(AuthorizationServerService.class);
+        return s;
+    }
+}
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummy.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummy.java
new file mode 100644
index 0000000000000000000000000000000000000000..34a7f6799fda60e08e126f2f99a1554a6f2a3d96
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummy.java
@@ -0,0 +1,21 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesClientApplication;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Define mandatory preferences.
+ */
+public class OperationalPreferencesDummy implements OperationalPreferencesClientApplication {
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Map<String, List<String>> wantedMandatoryPreferences() {
+        return new HashMap<>();
+    }
+}
diff --git a/dummy-authorization-server-service/src/main/resources/META-INF/beans.xml b/dummy-authorization-server-service/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d29f9c2aedd99b79a8f82a7f18d27124c2e62358
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans bean-discovery-mode="all" version="2.0"
+       xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
+                           http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd">
+</beans>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/resources/soapui/DummyAccessTokenProvider.xml b/dummy-authorization-server-service/src/main/resources/soapui/DummyAccessTokenProvider.xml
new file mode 100644
index 0000000000000000000000000000000000000000..93b4d01d9ac9641a639488d9e08c99a63e7a4945
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/resources/soapui/DummyAccessTokenProvider.xml
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<con:soapui-project id="511bc175-43ea-4daa-b8b0-8135770e4931" activeEnvironment="Default" name="REST Project 1" resourceRoot="" soapui-version="5.5.0"
+                    xmlns:con="http://eviware.com/soapui/config">
+    <con:settings/>
+    <con:interface xsi:type="con:RestService" id="a83dfcbb-6422-4e5a-a181-094eaf6314b0" wadlVersion="http://wadl.dev.java.net/2009/02"
+                   name="http://localhost:8780" type="rest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        <con:settings/>
+        <con:definitionCache type="TEXT" rootPart=""/>
+        <con:endpoints>
+            <con:endpoint>http://localhost:8780</con:endpoint>
+        </con:endpoints>
+        <con:resource name="Mock-token" path="/authorization-server/mock-token" id="7270205e-e39c-4360-84e7-e29e05aad49b">
+            <con:settings/>
+            <con:parameters>
+                <con:parameter>
+                    <con:name>userId</con:name>
+                    <con:value/>
+                    <con:style>QUERY</con:style>
+                    <con:default/>
+                    <con:description xsi:nil="true"/>
+                </con:parameter>
+                <con:parameter>
+                    <con:name>audienceId</con:name>
+                    <con:value/>
+                    <con:style>QUERY</con:style>
+                    <con:default/>
+                    <con:description xsi:nil="true"/>
+                </con:parameter>
+                <con:parameter>
+                    <con:name>purposeOfUse</con:name>
+                    <con:value/>
+                    <con:style>QUERY</con:style>
+                    <con:default/>
+                    <con:description xsi:nil="true"/>
+                </con:parameter>
+                <con:parameter>
+                    <con:name>resourceId</con:name>
+                    <con:value/>
+                    <con:style>QUERY</con:style>
+                    <con:default/>
+                    <con:description xsi:nil="true"/>
+                </con:parameter>
+            </con:parameters>
+            <con:method name="Mock-token 1" id="abfda5a1-8402-4e07-af8d-89b02e4d0c72" method="GET">
+                <con:settings/>
+                <con:parameters/>
+                <con:representation type="RESPONSE">
+                    <con:mediaType>application/octet-stream</con:mediaType>
+                    <con:status>200</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>0</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>0</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>0</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="FAULT">
+                    <con:mediaType>text/html</con:mediaType>
+                    <con:status>404</con:status>
+                    <con:params/>
+                    <con:element>html</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>0</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>0</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:representation type="RESPONSE">
+                    <con:mediaType xsi:nil="true"/>
+                    <con:status>204</con:status>
+                    <con:params/>
+                    <con:element>data</con:element>
+                </con:representation>
+                <con:request name="Request 1" id="1039bbd9-95cf-452e-ad96-4cfb23827782" mediaType="application/json">
+                    <con:settings/>
+                    <con:endpoint>http://localhost:8780</con:endpoint>
+                    <con:request/>
+                    <con:credentials>
+                        <con:authType>No Authorization</con:authType>
+                    </con:credentials>
+                    <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+                    <con:jmsPropertyConfig/>
+                    <con:parameters>
+                        <con:entry key="resourceId" value="12"/>
+                        <con:entry key="purposeOfUse" value="test"/>
+                        <con:entry key="audienceId" value="audience"/>
+                        <con:entry key="userId" value="test"/>
+                    </con:parameters>
+                    <con:parameterOrder>
+                        <con:entry>userId</con:entry>
+                        <con:entry>audienceId</con:entry>
+                        <con:entry>purposeOfUse</con:entry>
+                        <con:entry>resourceId</con:entry>
+                    </con:parameterOrder>
+                </con:request>
+            </con:method>
+        </con:resource>
+    </con:interface>
+    <con:testSuite id="99a0a2d5-1bf9-4cd6-a66d-29830e75aef8" name="Test Mock Token Provider">
+        <con:settings/>
+        <con:runType>SEQUENTIAL</con:runType>
+        <con:testCase id="f4ab98d6-051e-4e34-9dca-7aac5409f375" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0"
+                      name="Request" searchProperties="true">
+            <con:settings/>
+            <con:testStep type="restrequest" name="Valid request" id="fa834a0a-6dc7-4d84-a15a-f13224626c4e">
+                <con:settings/>
+                <con:config service="http://localhost:8780" resourcePath="/authorization-server/mock-token" methodName="Mock-token 1"
+                            xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                    <con:restRequest name="Mock-token 1 - Request 1" id="1039bbd9-95cf-452e-ad96-4cfb23827782" mediaType="application/json">
+                        <con:settings>
+                            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+                        </con:settings>
+                        <con:endpoint>http://localhost:8780</con:endpoint>
+                        <con:request/>
+                        <con:originalUri>http://localhost/authorization-server/mock-token</con:originalUri>
+                        <con:assertion type="Simple Contains" id="eec24b99-0b19-4a1e-93f7-d791268e2f6d" name="Contains">
+                            <con:configuration>
+                                <token>.+\..+\..+</token>
+                                <ignoreCase>false</ignoreCase>
+                                <useRegEx>true</useRegEx>
+                            </con:configuration>
+                        </con:assertion>
+                        <con:credentials>
+                            <con:authType>No Authorization</con:authType>
+                        </con:credentials>
+                        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+                        <con:jmsPropertyConfig/>
+                        <con:parameters>
+                            <con:entry key="audienceId" value="audience"/>
+                            <con:entry key="userId" value="aamrein"/>
+                        </con:parameters>
+                        <con:parameterOrder>
+                            <con:entry>userId</con:entry>
+                            <con:entry>audienceId</con:entry>
+                            <con:entry>purposeOfUse</con:entry>
+                            <con:entry>resourceId</con:entry>
+                        </con:parameterOrder>
+                    </con:restRequest>
+                </con:config>
+            </con:testStep>
+            <con:properties/>
+        </con:testCase>
+        <con:testCase id="81ffbff9-1a6a-4389-951a-3f8ed143f4e8" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0"
+                      name="Unknown UserID" searchProperties="true">
+            <con:settings/>
+            <con:testStep type="restrequest" name="Unknown userID" id="0821bbbe-9ed6-490b-88f5-c46be620eae6">
+                <con:settings/>
+                <con:config service="http://localhost:8780" resourcePath="/authorization-server/mock-token" methodName="Mock-token 1"
+                            xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                    <con:restRequest name="Unknown userID" id="1039bbd9-95cf-452e-ad96-4cfb23827782" mediaType="application/json">
+                        <con:settings>
+                            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+                        </con:settings>
+                        <con:endpoint>http://localhost:8780</con:endpoint>
+                        <con:request/>
+                        <con:originalUri>http://localhost/authorization-server/mock-token</con:originalUri>
+                        <con:assertion type="Valid HTTP Status Codes" id="60be561e-c058-42cd-882f-0e60e9226c65" name="Valid HTTP Status Codes">
+                            <con:configuration>
+                                <codes>204</codes>
+                            </con:configuration>
+                        </con:assertion>
+                        <con:credentials>
+                            <con:authType>No Authorization</con:authType>
+                        </con:credentials>
+                        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+                        <con:jmsPropertyConfig/>
+                        <con:parameters>
+                            <con:entry key="audienceId" value="audience43"/>
+                            <con:entry key="userId" value="aamrein"/>
+                        </con:parameters>
+                        <con:parameterOrder>
+                            <con:entry>userId</con:entry>
+                            <con:entry>audienceId</con:entry>
+                            <con:entry>purposeOfUse</con:entry>
+                            <con:entry>resourceId</con:entry>
+                        </con:parameterOrder>
+                    </con:restRequest>
+                </con:config>
+            </con:testStep>
+            <con:properties/>
+        </con:testCase>
+        <con:testCase id="0b0c480f-8389-40e2-83bf-1adfad6f874f" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0"
+                      name="Unknown Audience" searchProperties="true">
+            <con:settings/>
+            <con:testStep type="restrequest" name="Unknown audience" id="b3d2c1e7-36a2-43ad-8056-5ff54b75677b">
+                <con:settings/>
+                <con:config service="http://localhost:8780" resourcePath="/authorization-server/mock-token" methodName="Mock-token 1"
+                            xsi:type="con:RestRequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+                    <con:restRequest name="Unknown audience" id="1039bbd9-95cf-452e-ad96-4cfb23827782" mediaType="application/json">
+                        <con:settings>
+                            <con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting>
+                        </con:settings>
+                        <con:endpoint>http://localhost:8780</con:endpoint>
+                        <con:request/>
+                        <con:originalUri>http://localhost/authorization-server/mock-token</con:originalUri>
+                        <con:assertion type="Valid HTTP Status Codes" id="60be561e-c058-42cd-882f-0e60e9226c65" name="Valid HTTP Status Codes">
+                            <con:configuration>
+                                <codes>204</codes>
+                            </con:configuration>
+                        </con:assertion>
+                        <con:credentials>
+                            <con:authType>No Authorization</con:authType>
+                        </con:credentials>
+                        <con:jmsConfig JMSDeliveryMode="PERSISTENT"/>
+                        <con:jmsPropertyConfig/>
+                        <con:parameters>
+                            <con:entry key="audienceId" value="audience"/>
+                            <con:entry key="userId" value="wbars"/>
+                        </con:parameters>
+                        <con:parameterOrder>
+                            <con:entry>userId</con:entry>
+                            <con:entry>audienceId</con:entry>
+                            <con:entry>purposeOfUse</con:entry>
+                            <con:entry>resourceId</con:entry>
+                        </con:parameterOrder>
+                    </con:restRequest>
+                </con:config>
+            </con:testStep>
+            <con:properties/>
+        </con:testCase>
+        <con:properties/>
+    </con:testSuite>
+    <con:properties/>
+    <con:wssContainer/>
+    <con:oAuth2ProfileContainer/>
+    <con:oAuth1ProfileContainer/>
+</con:soapui-project>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/webapp/WEB-INF/jboss-web.xml b/dummy-authorization-server-service/src/main/webapp/WEB-INF/jboss-web.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b832b6ea657c580d51bc40526ad9c4dbf3e568f5
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/webapp/WEB-INF/jboss-web.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-web>
+    <context-root>authorization-server</context-root>
+</jboss-web>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/webapp/WEB-INF/web.xml b/dummy-authorization-server-service/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e84277a95f80e2ed59f5518458b90b473057e968
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,7 @@
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
+         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+         version="3.1">
+
+</web-app>
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..b0d55465d28b9e78a1a6c869c774169e3824f22c
--- /dev/null
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
@@ -0,0 +1,29 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+/**
+ * Tests for {@link AuthorizationServerService}
+ */
+class AuthorizationServerServiceTest {
+
+    private static final String SUBJECT = "aamrein";
+    private static final String AUDIENCE = "audience";
+
+    /**
+     * Test the generation of a token
+     */
+    @Test
+    public void getAccessToken() {
+        AuthorizationServerService authorizationServerService = new AuthorizationServerService();
+        DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui();
+        dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "myBeautifulKeyWhichIsAJWTSecretSoSecret");
+        authorizationServerService.setDummyAuthzServer(dummyAuthzServer);
+
+        assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null),
+                "Provided access token shall not be null !");
+    }
+}
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplicationTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplicationTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..1abdbf9f2e380298181c80658ac2a8ab3cd33f52
--- /dev/null
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplicationTest.java
@@ -0,0 +1,24 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Set;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+class DummyAuthorizationServerServiceApplicationTest {
+
+    /**
+     * Test class getter.
+     */
+    @Test
+    void getClasses() {
+        DummyAuthorizationServerServiceApplication application = new DummyAuthorizationServerServiceApplication();
+
+        Set classes = application.getClasses();
+
+        assertNotNull(classes, "Classes map shall not be null !");
+        assertEquals(1, classes.size(), "Classes map shall contain a single element !");
+    }
+}
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummyTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummyTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..3bd30b4de8262009eedfc15b106f13c970ccc9a7
--- /dev/null
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummyTest.java
@@ -0,0 +1,25 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesClientApplication;
+import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesService;
+import org.junit.jupiter.api.Test;
+
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class OperationalPreferencesDummyTest {
+
+    /**
+     * Test wanted mandatroy preferences list.
+     */
+    @Test
+    void wantedMandatoryPreferences() {
+        OperationalPreferencesClientApplication operationalPreferencesService = new OperationalPreferencesDummy();
+
+        Map wantedMandatoryPreferences = operationalPreferencesService.wantedMandatoryPreferences();
+
+        assertNotNull(wantedMandatoryPreferences, "Wanted Mandatory Preferences map shall not be null !");
+        assertEquals(0, wantedMandatoryPreferences.entrySet().size(), "Wanted Mandatory Preferences map shall be empty");
+    }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 590807fc5115bd8de1967305b7944041c13b6032..88a3a45e97ca83d2883fd93549cd6351c8e8c355 100644
--- a/pom.xml
+++ b/pom.xml
@@ -201,5 +201,6 @@
     <modules>
         <module>access-token-provider-api</module>
         <module>audience-retriever</module>
-    </modules>
-</project>
+      <module>dummy-authorization-server-service</module>
+  </modules>
+</project>
\ No newline at end of file