Compare commits
10 commits
212e17c4a6
...
51f6eec0e7
Author | SHA1 | Date | |
---|---|---|---|
|
51f6eec0e7 | ||
|
83fec76743 | ||
|
ab94ca4746 | ||
|
4ba3278c69 | ||
|
3a3cc59134 | ||
|
7f395b50d7 | ||
|
8eb9cace47 | ||
|
6d425f0c5f | ||
|
1503b5e727 | ||
|
79712d1676 |
11 changed files with 53 additions and 14 deletions
2
.github/ISSUE_TEMPLATE/bug.yml
vendored
2
.github/ISSUE_TEMPLATE/bug.yml
vendored
|
@ -38,7 +38,7 @@ body:
|
|||
label: Version
|
||||
description: |
|
||||
examples:
|
||||
- **Keycloak**: 23.0.4
|
||||
- **Keycloak**: 23.0.6
|
||||
- **This extension**: 23.0.0
|
||||
value: |
|
||||
- Keycloak:
|
||||
|
|
2
.github/workflows/buildAndTest.yml
vendored
2
.github/workflows/buildAndTest.yml
vendored
|
@ -29,7 +29,7 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
keycloak_version: [ 22.0.5, 23.0.0, 23.0.1, 23.0.2, 23.0.3, 23.0.4, latest ]
|
||||
keycloak_version: [ 22.0.5, 23.0.0, 23.0.1, 23.0.2, 23.0.3, 23.0.4, 23.0.5, 23.0.6, latest ]
|
||||
keycloak_dist: [quarkus]
|
||||
experimental: [false]
|
||||
include:
|
||||
|
|
29
.github/workflows/matrix.yml
vendored
Normal file
29
.github/workflows/matrix.yml
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
name: Compatibility Matrix
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
compatibility:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
keycloak_version: [ 21.0.2, 21.1.2, 22.0.5, 23.0.6, latest, nightly ]
|
||||
extension_version: [ 20.0.1, 21.0.0, 22.0.0, 23.0.0 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: v${{ matrix.extension_version }}
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 17
|
||||
cache: 'maven'
|
||||
- name: Clean and compile
|
||||
run: mvn -B -U clean test-compile --file pom.xml
|
||||
- name: Download extension
|
||||
run: curl -L -o target/keycloak-restrict-client-auth.jar https://github.com/sventorben/keycloak-restrict-client-auth/releases/download/v${{ matrix.extension_version }}/keycloak-restrict-client-auth.jar
|
||||
- name: Compatibility tests
|
||||
run: mvn -B -U failsafe:integration-test failsafe:verify --file pom.xml -Dkeycloak.version=${{ matrix.keycloak_version }} -DuseJar=true
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -48,7 +48,7 @@ jobs:
|
|||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- name: Create Pull Request
|
||||
id: create-pr
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
with:
|
||||
commit-message: "chore(release): Prepare next version"
|
||||
delete-branch: "true"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
This is a simple Keycloak authenticator to restrict user authorization on clients.
|
||||
|
||||
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/sventorben/keycloak-restrict-client-auth?sort=semver)
|
||||
![Keycloak Dependency Version](https://img.shields.io/badge/Keycloak-23.0.4-blue)
|
||||
![Keycloak Dependency Version](https://img.shields.io/badge/Keycloak-23.0.6-blue)
|
||||
![GitHub Release Date](https://img.shields.io/github/release-date-pre/sventorben/keycloak-restrict-client-auth)
|
||||
![Github Last Commit](https://img.shields.io/github/last-commit/sventorben/keycloak-restrict-client-auth)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ version: '3'
|
|||
services:
|
||||
keycloak:
|
||||
container_name: keycloak
|
||||
image: quay.io/keycloak/keycloak:23.0.4
|
||||
image: quay.io/keycloak/keycloak:23.0.6
|
||||
environment:
|
||||
KEYCLOAK_ADMIN: admin
|
||||
KEYCLOAK_ADMIN_PASSWORD: admin
|
||||
|
|
12
pom.xml
12
pom.xml
|
@ -51,13 +51,14 @@
|
|||
<maven.compiler.release>17</maven.compiler.release>
|
||||
|
||||
<!-- For compilation -->
|
||||
<version.keycloak>23.0.4</version.keycloak>
|
||||
<version.keycloak>23.0.6</version.keycloak>
|
||||
|
||||
<!-- For compatibility tests -->
|
||||
<keycloak.version>${version.keycloak}</keycloak.version>
|
||||
<keycloak.dist>quarkus</keycloak.dist>
|
||||
<useJar>false</useJar>
|
||||
|
||||
<version.mockito>5.9.0</version.mockito>
|
||||
<version.mockito>5.10.0</version.mockito>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
|
@ -87,6 +88,7 @@
|
|||
<org.jboss.logging.provider>log4j2</org.jboss.logging.provider>
|
||||
<keycloak.version>${keycloak.version}</keycloak.version>
|
||||
<keycloak.dist>${keycloak.dist}</keycloak.dist>
|
||||
<useJar>${useJar}</useJar>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@ -157,7 +159,7 @@
|
|||
<dependency>
|
||||
<groupId>org.junit</groupId>
|
||||
<artifactId>junit-bom</artifactId>
|
||||
<version>5.10.1</version>
|
||||
<version>5.10.2</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
|
@ -218,13 +220,13 @@
|
|||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<version>3.25.1</version>
|
||||
<version>3.25.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>1.19.3</version>
|
||||
<version>1.19.5</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
@ -34,7 +34,6 @@ class ClientPolicyIT {
|
|||
|
||||
@Container
|
||||
private static final KeycloakContainer KEYCLOAK_CONTAINER = FullImageName.createContainer()
|
||||
.withProviderClassesFrom("target/classes")
|
||||
.withExposedPorts(KEYCLOAK_HTTP_PORT)
|
||||
.withLogConsumer(new Slf4jLogConsumer(LOGGER).withSeparateOutputStreams())
|
||||
.withRealmImportFile("/test-realm.json")
|
||||
|
|
|
@ -26,7 +26,6 @@ class ConfigIT {
|
|||
|
||||
@Container
|
||||
private static final KeycloakContainer KEYCLOAK_CONTAINER = FullImageName.createContainer()
|
||||
.withProviderClassesFrom("target/classes")
|
||||
.withExposedPorts(KEYCLOAK_HTTP_PORT)
|
||||
.withLogConsumer(new Slf4jLogConsumer(LOGGER).withSeparateOutputStreams())
|
||||
.withStartupTimeout(Duration.ofSeconds(90))
|
||||
|
|
|
@ -4,6 +4,9 @@ import dasniko.testcontainers.keycloak.KeycloakContainer;
|
|||
import org.testcontainers.images.ImagePullPolicy;
|
||||
import org.testcontainers.images.PullPolicy;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
import static de.sventorben.keycloak.authorization.client.FullImageName.Distribution.quarkus;
|
||||
import static java.lang.module.ModuleDescriptor.Version;
|
||||
|
||||
|
@ -20,6 +23,8 @@ class FullImageName {
|
|||
private static final String NIGHTLY_VERSION = "nightly";
|
||||
private static final String KEYCLOAK_VERSION = System.getProperty("keycloak.version", LATEST_VERSION);
|
||||
|
||||
private static final boolean USE_JAR = Boolean.parseBoolean(System.getProperty("useJar", "false"));
|
||||
|
||||
static String get() {
|
||||
String imageName = "keycloak";
|
||||
|
||||
|
@ -61,8 +66,14 @@ class FullImageName {
|
|||
if (isLatestVersion() || isNightlyVersion()) {
|
||||
pullPolicy = PullPolicy.alwaysPull();
|
||||
}
|
||||
return new KeycloakContainer(fullImage)
|
||||
KeycloakContainer keycloakContainer = new KeycloakContainer(fullImage)
|
||||
.withImagePullPolicy(pullPolicy);
|
||||
if (USE_JAR) {
|
||||
keycloakContainer = keycloakContainer.withProviderLibsFrom(List.of(new File("target/keycloak-restrict-client-auth.jar")));
|
||||
} else {
|
||||
keycloakContainer = keycloakContainer.withProviderClassesFrom("target/classes");
|
||||
}
|
||||
return keycloakContainer;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@ class LoginIT {
|
|||
|
||||
@Container
|
||||
private static final KeycloakContainer KEYCLOAK_CONTAINER = FullImageName.createContainer()
|
||||
.withProviderClassesFrom("target/classes")
|
||||
.withExposedPorts(KEYCLOAK_HTTP_PORT)
|
||||
.withLogConsumer(new Slf4jLogConsumer(LOGGER).withSeparateOutputStreams())
|
||||
.withRealmImportFile("/test-realm.json")
|
||||
|
|
Loading…
Reference in a new issue