Skip to content

Commit

Permalink
feat: New mil-azure-services with Workload ID support and automatic s…
Browse files Browse the repository at this point in the history
…election. (#128)
  • Loading branch information
antoniotarricone authored Aug 7, 2024
1 parent d7ae798 commit 8bee430
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 67 deletions.
108 changes: 54 additions & 54 deletions dep-sha256.json
Original file line number Diff line number Diff line change
Expand Up @@ -602,34 +602,6 @@
"version": "1.3",
"sha256": "aczARIfod3nUlwqlDGc8w0qd8IDBwOjY6rLotG-CXPQ="
},
{
"id": "io.quarkus:quarkus-rest-client-jackson:jar:3.13.0",
"artifactId": "quarkus-rest-client-jackson",
"groupId": "io.quarkus",
"version": "3.13.0",
"sha256": "zxHuQ-UuHRT0t1wGZd-9u5RXZaqHkt2H3odP4shGerI="
},
{
"id": "io.quarkus.resteasy.reactive:resteasy-reactive-jackson:jar:3.13.0",
"artifactId": "resteasy-reactive-jackson",
"groupId": "io.quarkus.resteasy.reactive",
"version": "3.13.0",
"sha256": "P3N0HThUiFZvIZHdNB_tPGjkHnigfpnwGffuPp7yc44="
},
{
"id": "com.fasterxml.jackson.core:jackson-databind:jar:2.17.2",
"artifactId": "jackson-databind",
"groupId": "com.fasterxml.jackson.core",
"version": "2.17.2",
"sha256": "wEmT8zwPhFNCZTeE8U84Nz0AUoDmNZ21-AhwHPrnPAw="
},
{
"id": "com.fasterxml.jackson.core:jackson-annotations:jar:2.17.2",
"artifactId": "jackson-annotations",
"groupId": "com.fasterxml.jackson.core",
"version": "2.17.2",
"sha256": "hzpgbiNQeWn5u76pOdXhknSoh3XqWhabp-LXlapRVuE="
},
{
"id": "io.quarkus:quarkus-rest-client:jar:3.13.0",
"artifactId": "quarkus-rest-client",
Expand Down Expand Up @@ -672,6 +644,20 @@
"version": "3.13.0",
"sha256": "45SaixKYt0ago1tvjBZ-2_lkCjQcsLSRfUQqu9SHhNc="
},
{
"id": "io.smallrye:jandex:jar:3.2.0",
"artifactId": "jandex",
"groupId": "io.smallrye",
"version": "3.2.0",
"sha256": "baPpzo0MCkM_PnzmEKPGasywDHH-5nqg_z5ahBOVrBU="
},
{
"id": "io.quarkus:quarkus-tls-registry:jar:3.13.0",
"artifactId": "quarkus-tls-registry",
"groupId": "io.quarkus",
"version": "3.13.0",
"sha256": "inlDAA2c5c-aF3gC8XZwYG2ZVrxuS_SaYZD8AaSzRl0="
},
{
"id": "io.smallrye.stork:stork-api:jar:2.6.0",
"artifactId": "stork-api",
Expand All @@ -693,6 +679,34 @@
"version": "3.0.1",
"sha256": "K3Fpi5XIksxlkjX0_-ZjteLxFRzrTncmiyP_KwxjIcs="
},
{
"id": "io.quarkus:quarkus-rest-client-jackson:jar:3.13.0",
"artifactId": "quarkus-rest-client-jackson",
"groupId": "io.quarkus",
"version": "3.13.0",
"sha256": "zxHuQ-UuHRT0t1wGZd-9u5RXZaqHkt2H3odP4shGerI="
},
{
"id": "io.quarkus.resteasy.reactive:resteasy-reactive-jackson:jar:3.13.0",
"artifactId": "resteasy-reactive-jackson",
"groupId": "io.quarkus.resteasy.reactive",
"version": "3.13.0",
"sha256": "P3N0HThUiFZvIZHdNB_tPGjkHnigfpnwGffuPp7yc44="
},
{
"id": "com.fasterxml.jackson.core:jackson-databind:jar:2.17.2",
"artifactId": "jackson-databind",
"groupId": "com.fasterxml.jackson.core",
"version": "2.17.2",
"sha256": "wEmT8zwPhFNCZTeE8U84Nz0AUoDmNZ21-AhwHPrnPAw="
},
{
"id": "com.fasterxml.jackson.core:jackson-annotations:jar:2.17.2",
"artifactId": "jackson-annotations",
"groupId": "com.fasterxml.jackson.core",
"version": "2.17.2",
"sha256": "hzpgbiNQeWn5u76pOdXhknSoh3XqWhabp-LXlapRVuE="
},
{
"id": "io.quarkus:quarkus-cache:jar:3.13.0",
"artifactId": "quarkus-cache",
Expand Down Expand Up @@ -911,18 +925,18 @@
"sha256": "uHd2HNlLQK-VV9OP_9H7bvPHtOAZUdyApSNdfhrXcHc="
},
{
"id": "it.pagopa.swclient.mil:common:jar:2.3.0",
"id": "it.pagopa.swclient.mil:common:jar:2.6.0",
"artifactId": "common",
"groupId": "it.pagopa.swclient.mil",
"version": "2.3.0",
"sha256": "GvpPTiLMCTL0YX_AM3NqP0aFd1R4WNnz3M1MKsyrlec="
"version": "2.6.0",
"sha256": "NKb3hLFpbfEeB1IN5I-DHAgvltdOkG9aaw7CzSM9UAk="
},
{
"id": "it.pagopa.swclient.mil:azure-services:jar:5.3.0",
"id": "it.pagopa.swclient.mil:azure-services:jar:5.4.0",
"artifactId": "azure-services",
"groupId": "it.pagopa.swclient.mil",
"version": "5.3.0",
"sha256": "Va6M1UY7XOE9lsC7xJHTK5CiIWK284bEMk6wdSS_xJc="
"version": "5.4.0",
"sha256": "4k3M69uXxlHHRZGAYkyjlPGbSpvm5z5Wl41m55B2B8w="
},
{
"id": "com.nimbusds:nimbus-jose-jwt:jar:9.40",
Expand Down Expand Up @@ -1617,13 +1631,6 @@
"version": "3.13.0",
"sha256": "N49Ux3jkGlyB2wzgBCldQu01OCLIdM_IDJBSxyZYW-0="
},
{
"id": "io.smallrye:jandex:jar:3.2.0",
"artifactId": "jandex",
"groupId": "io.smallrye",
"version": "3.2.0",
"sha256": "baPpzo0MCkM_PnzmEKPGasywDHH-5nqg_z5ahBOVrBU="
},
{
"id": "commons-io:commons-io:jar:2.16.1",
"artifactId": "commons-io",
Expand Down Expand Up @@ -2044,13 +2051,6 @@
"version": "3.13.0",
"sha256": "dkxueDYzvmx5_pFqgEXtaXL1_WJNsHtPx-LKUz1m83A="
},
{
"id": "io.quarkus:quarkus-tls-registry:jar:3.13.0",
"artifactId": "quarkus-tls-registry",
"groupId": "io.quarkus",
"version": "3.13.0",
"sha256": "inlDAA2c5c-aF3gC8XZwYG2ZVrxuS_SaYZD8AaSzRl0="
},
{
"id": "io.quarkus:quarkus-security-runtime-spi:jar:3.13.0",
"artifactId": "quarkus-security-runtime-spi",
Expand Down Expand Up @@ -2346,18 +2346,18 @@
"sha256": "T7aksu03RL2VxJX-pC2ca41LbCbdViN21cYuwo1dtk8="
},
{
"id": "io.quarkiverse.opentelemetry.exporter:quarkus-opentelemetry-exporter-azure:jar:3.8.3.0",
"id": "io.quarkiverse.opentelemetry.exporter:quarkus-opentelemetry-exporter-azure:jar:3.8.3.1",
"artifactId": "quarkus-opentelemetry-exporter-azure",
"groupId": "io.quarkiverse.opentelemetry.exporter",
"version": "3.8.3.0",
"sha256": "zXg8PGdYXA0HWGdhdtfw-dOGV90P3wsjJnEeJGyxJ-s="
"version": "3.8.3.1",
"sha256": "yrfpdJwkaEvwztQpcKW7IAhLafbRzcp_bvaiKFNtZqg="
},
{
"id": "io.quarkiverse.opentelemetry.exporter:quarkus-opentelemetry-exporter-common:jar:3.8.3.0",
"id": "io.quarkiverse.opentelemetry.exporter:quarkus-opentelemetry-exporter-common:jar:3.8.3.1",
"artifactId": "quarkus-opentelemetry-exporter-common",
"groupId": "io.quarkiverse.opentelemetry.exporter",
"version": "3.8.3.0",
"sha256": "kYITtdlW51ntA3XFfHMGovcWnlJ0BJ3r1YcPlSg1A2M="
"version": "3.8.3.1",
"sha256": "nCVMG180ikCbP-Fj88f5D_52Hd6a7tBWLSI6O2qkuEA="
},
{
"id": "com.azure:azure-monitor-opentelemetry-exporter:jar:1.0.0-beta.21",
Expand Down
19 changes: 14 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>3.13.0</quarkus.platform.version>
<!-- Other dependecies version -->
<common.version>2.3.0</common.version>
<azure-services.version>5.3.0</azure-services.version>
<common.version>2.6.0</common.version>
<azure-services.version>5.4.0</azure-services.version>
<lombok.version>1.18.32</lombok.version>
<otel-exporter-azure.version>3.8.3.0</otel-exporter-azure.version>
<otel-exporter-azure.version>3.8.3.1</otel-exporter-azure.version>
<assertj-core.version>3.25.3</assertj-core.version>
<bouncycastle.version>2.73.6</bouncycastle.version>
<!-- Sonar config -->
Expand All @@ -53,7 +53,11 @@
<sonar.qualitygate.wait>true</sonar.qualitygate.wait>
<sonar.qualitygate.timeout>300</sonar.qualitygate.timeout>
<sonar.coverage.jacoco.xmlReportPaths>target/jacoco-report/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>

<sonar.issue.ignore.multicriteria>e1,e2</sonar.issue.ignore.multicriteria>
<sonar.issue.ignore.multicriteria.e1.ruleKey>java:S116</sonar.issue.ignore.multicriteria.e1.ruleKey>
<sonar.issue.ignore.multicriteria.e1.resourceKey>src/test/java/**/*.java</sonar.issue.ignore.multicriteria.e1.resourceKey>
<sonar.issue.ignore.multicriteria.e2.ruleKey>java:S117</sonar.issue.ignore.multicriteria.e2.ruleKey>
<sonar.issue.ignore.multicriteria.e2.resourceKey>src/test/java/**/*.java</sonar.issue.ignore.multicriteria.e2.resourceKey>
<skipITs>true</skipITs>
</properties>

Expand Down Expand Up @@ -86,6 +90,10 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client-jackson</artifactId>
Expand Down Expand Up @@ -215,6 +223,7 @@
<goal>build</goal>
<goal>generate-code</goal>
<goal>generate-code-tests</goal>
<goal>native-image-agent</goal>
</goals>
</execution>
</executions>
Expand Down Expand Up @@ -336,7 +345,7 @@
</activation>
<properties>
<skipITs>false</skipITs>
<quarkus.package.type>native</quarkus.package.type>
<quarkus.native.enabled>true</quarkus.native.enabled>
</properties>
</profile>
<!-- To execute SCA with SonarCloud: -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;

import com.azure.core.http.ContentType;

import io.quarkus.test.InjectMock;
import io.quarkus.test.common.http.TestHTTPEndpoint;
import io.quarkus.test.junit.QuarkusTest;
Expand Down Expand Up @@ -71,7 +69,7 @@ void given_tokenWithEncFiscalCode_when_allIsOk_then_getDecryptedFiscalCode() {
*
*/
TokenInfoResponse actual = given()
.contentType(ContentType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header(HeaderParamName.REQUEST_ID, "00000000-0000-0000-0000-700000000000")
.body(new TokenInfoRequest("eyJraWQiOiJhdXRoMDcwOTY0M2Y0OTM5NDUyOWI5MmMxOWE2OGM4ZTE4NGEvNjU4MWM3MDRkZWRhNDk3OTk0M2MzYjM0NDY4ZGY3YzIiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJhdWQiOiJtaWwucGFnb3BhLml0IiwiY2xpZW50SWQiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJtZXJjaGFudElkIjoiMjg0MDVmSGZrNzN4ODhEIiwiZmlzY2FsQ29kZSI6eyJraWQiOiJraWQiLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJ2YWx1ZSI6IkFBRUNBdz09In0sImNoYW5uZWwiOiJQT1MiLCJpc3MiOiJodHRwOi8vZHVtbXkiLCJncm91cHMiOlsiTm90aWNlUGF5ZXIiLCJTbGF2ZVBvcyJdLCJ0ZXJtaW5hbElkIjoiMTIzNDU2NzgiLCJleHAiOjE3MTY4MDQ3MzksImFjcXVpcmVySWQiOiI0NTg1NjI1IiwiaWF0IjoxNzE2ODA0NDM5fQ.expected_signature"))
.when()
Expand Down Expand Up @@ -106,7 +104,7 @@ void given_tokenWOEncFiscalCode_when_allIsOk_then_getEmptyResponse() {
*
*/
given()
.contentType(ContentType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header(HeaderParamName.REQUEST_ID, "00000000-0000-0000-0000-700000000001")
.body(new TokenInfoRequest("eyJraWQiOiJhdXRoMDcwOTY0M2Y0OTM5NDUyOWI5MmMxOWE2OGM4ZTE4NGEvNjU4MWM3MDRkZWRhNDk3OTk0M2MzYjM0NDY4ZGY3YzIiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJhdWQiOiJtaWwucGFnb3BhLml0IiwiY2xpZW50SWQiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJtZXJjaGFudElkIjoiMjg0MDVmSGZrNzN4ODhEIiwiY2hhbm5lbCI6IlBPUyIsImlzcyI6Imh0dHA6Ly9kdW1teSIsImdyb3VwcyI6WyJOb3RpY2VQYXllciIsIlNsYXZlUG9zIl0sInRlcm1pbmFsSWQiOiIxMjM0NTY3OCIsImV4cCI6MTcxNjg5MzcxOSwiYWNxdWlyZXJJZCI6IjQ1ODU2MjUiLCJpYXQiOjE3MTY4OTM0MTl9.expected_signature"))
.when()
Expand Down Expand Up @@ -135,7 +133,7 @@ void given_badToken_when_tokeInfoIsInvoked_then_getBadRequest() {
*
*/
given()
.contentType(ContentType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header(HeaderParamName.REQUEST_ID, "00000000-0000-0000-0000-700000000002")
.body(new TokenInfoRequest("1.1.1"))
.when()
Expand Down Expand Up @@ -164,7 +162,7 @@ void given_tokenWithEncFiscalCode_when_decryptWentWrongWithError_then_getServerE
*
*/
given()
.contentType(ContentType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header(HeaderParamName.REQUEST_ID, "00000000-0000-0000-0000-700000000003")
.body(new TokenInfoRequest("eyJraWQiOiJhdXRoMDcwOTY0M2Y0OTM5NDUyOWI5MmMxOWE2OGM4ZTE4NGEvNjU4MWM3MDRkZWRhNDk3OTk0M2MzYjM0NDY4ZGY3YzIiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJhdWQiOiJtaWwucGFnb3BhLml0IiwiY2xpZW50SWQiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJtZXJjaGFudElkIjoiMjg0MDVmSGZrNzN4ODhEIiwiZmlzY2FsQ29kZSI6eyJraWQiOiJraWQiLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJ2YWx1ZSI6IkFBRUNBdz09In0sImNoYW5uZWwiOiJQT1MiLCJpc3MiOiJodHRwOi8vZHVtbXkiLCJncm91cHMiOlsiTm90aWNlUGF5ZXIiLCJTbGF2ZVBvcyJdLCJ0ZXJtaW5hbElkIjoiMTIzNDU2NzgiLCJleHAiOjE3MTY4MDQ3MzksImFjcXVpcmVySWQiOiI0NTg1NjI1IiwiaWF0IjoxNzE2ODA0NDM5fQ.expected_signature"))
.when()
Expand Down Expand Up @@ -193,7 +191,7 @@ void given_tokenWithEncFiscalCode_when_decryptWentWrongWithException_then_getSer
*
*/
given()
.contentType(ContentType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header(HeaderParamName.REQUEST_ID, "00000000-0000-0000-0000-700000000004")
.body(new TokenInfoRequest("eyJraWQiOiJhdXRoMDcwOTY0M2Y0OTM5NDUyOWI5MmMxOWE2OGM4ZTE4NGEvNjU4MWM3MDRkZWRhNDk3OTk0M2MzYjM0NDY4ZGY3YzIiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJhdWQiOiJtaWwucGFnb3BhLml0IiwiY2xpZW50SWQiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJtZXJjaGFudElkIjoiMjg0MDVmSGZrNzN4ODhEIiwiZmlzY2FsQ29kZSI6eyJraWQiOiJraWQiLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJ2YWx1ZSI6IkFBRUNBdz09In0sImNoYW5uZWwiOiJQT1MiLCJpc3MiOiJodHRwOi8vZHVtbXkiLCJncm91cHMiOlsiTm90aWNlUGF5ZXIiLCJTbGF2ZVBvcyJdLCJ0ZXJtaW5hbElkIjoiMTIzNDU2NzgiLCJleHAiOjE3MTY4MDQ3MzksImFjcXVpcmVySWQiOiI0NTg1NjI1IiwiaWF0IjoxNzE2ODA0NDM5fQ.expected_signature"))
.when()
Expand Down Expand Up @@ -222,7 +220,7 @@ void given_tokenWithEncFiscalCode_when_decryptWentWrongWithOther_then_getServerE
*
*/
given()
.contentType(ContentType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header(HeaderParamName.REQUEST_ID, "00000000-0000-0000-0000-700000000005")
.body(new TokenInfoRequest("eyJraWQiOiJhdXRoMDcwOTY0M2Y0OTM5NDUyOWI5MmMxOWE2OGM4ZTE4NGEvNjU4MWM3MDRkZWRhNDk3OTk0M2MzYjM0NDY4ZGY3YzIiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJhdWQiOiJtaWwucGFnb3BhLml0IiwiY2xpZW50SWQiOiIzOTY1ZGY1Ni1jYTlhLTQ5ZTUtOTdlOC0wNjE0MzNkNGEyNWIiLCJtZXJjaGFudElkIjoiMjg0MDVmSGZrNzN4ODhEIiwiZmlzY2FsQ29kZSI6eyJraWQiOiJraWQiLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJ2YWx1ZSI6IkFBRUNBdz09In0sImNoYW5uZWwiOiJQT1MiLCJpc3MiOiJodHRwOi8vZHVtbXkiLCJncm91cHMiOlsiTm90aWNlUGF5ZXIiLCJTbGF2ZVBvcyJdLCJ0ZXJtaW5hbElkIjoiMTIzNDU2NzgiLCJleHAiOjE3MTY4MDQ3MzksImFjcXVpcmVySWQiOiI0NTg1NjI1IiwiaWF0IjoxNzE2ODA0NDM5fQ.expected_signature"))
.when()
Expand Down
8 changes: 8 additions & 0 deletions src/test/resources/application.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
quarkus.log.category."it.pagopa.swclient.mil".level=TRACE
quarkus.log.category."it.pagopa.swclient.mil".min-level=TRACE

AZURE_AUTHORITY_HOST=https://login.microsoftonline.com/
AZURE_TENANT_ID=da795842-fa15-4fd4-b556-f371ac9bafed
AZURE_FEDERATED_TOKEN_FILE=src/test/resources/azure-identity-token

IDENTITY_ENDPOINT=https://login.microsoftonline.com/

0 comments on commit 8bee430

Please sign in to comment.