Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
00bca27
Update 26_0_0.adoc
stianst Oct 4, 2024
4c73e50
Commit proto.lock files to release/26.0 branch
ryanemerson Oct 4, 2024
9c292f0
fix: document having multiple operators installed (#33448) (#33582)
shawkins Oct 4, 2024
94ece15
fix: correcting the container examples wrt hostname (#33542) (#33584)
shawkins Oct 4, 2024
f422b77
Fixing broken links after KC26 docs changes (#33580)
ahus1 Oct 4, 2024
6e60287
Fix runaway formatting
ahus1 Oct 4, 2024
6138d82
skip flaky test (#33555)
edewit Oct 7, 2024
2fcc88a
fix: ensuring placeholders can be used with --import-realm (#33589) (…
shawkins Oct 7, 2024
3b22d90
Ensure `createRegisterUrl()` calls are `await`ed internally (#33650) …
jonkoops Oct 7, 2024
2ed5511
Fixes RTL on keycloak.v2 login template (#33644) (#33676)
jonkoops Oct 8, 2024
1c4b93d
Better logging when error happens during transaction commit
mposolda Oct 7, 2024
5c5c999
reset error so when doing a new request, error could be gone (#32974)…
edewit Oct 8, 2024
b3c28fd
Return next action if the current action is not supported in AIA
rmartinc Oct 7, 2024
fa4523d
Allow proto-schema-compatibility-maven-plugin to be skipped with prop…
ryanemerson Oct 8, 2024
207e6db
Removed hard-coded LTR dir attribute in inputs in configure OTP template
jonkoops Oct 9, 2024
6dac3ae
Only show organization section in account UI of enabled
thomasdarimont Oct 9, 2024
a9d823d
Treat unencrypted local origins as an insecure context in Safari
jonkoops Oct 10, 2024
36207eb
Fix running Cypress tests on Firefox (#33768) (#33770)
agagancarczyk Oct 10, 2024
beb26fd
Only process organization selection when the user is identified
pedroigor Oct 9, 2024
d822154
The event should also support user invalidation events
pedroigor Oct 10, 2024
a9ba9df
Don't fail on drop index IDX_US_SESS_ID_ON_CL_SESS
sguilhen Oct 10, 2024
9adeea7
Check email with ignorecase when setting basic attributes in IdP
rmartinc Oct 8, 2024
0828145
Fix incorrect filter in docker protocol
rmartinc Oct 10, 2024
8c4970c
Bump manusa/actions-setup-minikube from 2.11.0 to 2.13.0 (#33801) (#3…
jonkoops Oct 11, 2024
63899d8
Temporarily comment FIPS CI until it is figured what causes the issue
mposolda Oct 14, 2024
7ca6b37
Run all maven commands inside the ubi docker container
rmartinc Oct 14, 2024
fe1a265
Re-add links to policy-enforcer to the authorization services documen…
mposolda Oct 15, 2024
afa3e55
NPE when Default Role is not present on CachedRealm
jonkoops Oct 15, 2024
627da7d
Fix NPE on whoami with unknown Realm
jonkoops Oct 15, 2024
bb5f7cd
Check if `deviceRepresentation` is set (#33828)
jonkoops Oct 15, 2024
c6bf104
LDAP Import: KERBEROS_PRINCIPAL not updated when UserPrincipal change…
martin-kanis Aug 30, 2024
fc09a27
Add check to ensure that no unstaged proto.lock files exist on PRs is…
ryanemerson Oct 15, 2024
225f767
Avoid iterating over user policies when removing users
pedroigor Oct 11, 2024
253ca1d
Allow Keycloak JS to be initialized without passing options (#33950) …
jonkoops Oct 15, 2024
4af1f70
AuroraDB IT - Error creating EC2 runner instance
ryanemerson Oct 15, 2024
aae1711
password is a required field
jonkoops Oct 16, 2024
7a69477
Auth not possible for auth session where user was enabled in the mean…
martin-kanis Oct 16, 2024
2f836ae
Fix unstable testPostBrokerLoginFlowWithOTP_bruteForceEnabled test (#…
martin-kanis Oct 16, 2024
a14ea02
Add AuthzClientCryptoProvider to authz-client in keycloak main reposi…
mposolda Oct 11, 2024
a2ed85a
fix: removing erroneous warnings
shawkins Oct 17, 2024
f7e3d6c
[PERF] OpenTelemetry is initialized even when disabled (#34032)
mabartos Oct 17, 2024
2ac5289
Small grammatical error in documentation
jlanning-gl Oct 16, 2024
5d73a96
Fixing link to external docs
ahus1 Oct 17, 2024
fad3c9d
Respect the locale set to a user when redering verify email pages
pedroigor Oct 17, 2024
c5cd59e
Do not show domain match message in the identity-first login when no …
pedroigor Oct 17, 2024
89032d4
Fixing action token lifespan information in the invitation email
pedroigor Oct 17, 2024
1190b32
Clear all entries stored in local storage (#34056) (#34088)
jonkoops Oct 18, 2024
22ea848
Honor `baseUrl` when generating the client home URL in the Admin Cons…
jonkoops Oct 18, 2024
d2a61fd
fix: ignore errors caused by webauthn's conditional ui to avoid loop …
jonkoops Oct 18, 2024
17bcba2
Clear local storage when quota exceeded (#34109) (#34115)
jonkoops Oct 21, 2024
0c69e04
Only use cookie detection iframe for non-OIDC configurations (#34139)…
jonkoops Oct 21, 2024
5b9ba14
fix: adding a server guide on installation location / layout (#33604)…
shawkins Oct 21, 2024
d63d110
Change order of absolute path and normalize in the theme folder (#34153)
rmartinc Oct 22, 2024
0c49e7b
Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBr…
martin-kanis Oct 22, 2024
2bbf6d4
Invalidate user session when associated IdP is missing (previously re…
sguilhen Oct 16, 2024
e3bc989
reset error in error dialog (#34203) (#34211)
edewit Oct 23, 2024
1895251
Deleting a user leads to ISPN marshalling exception
pruivo Oct 22, 2024
9de1d7a
Add validation for role and time policies
sguilhen Oct 18, 2024
164a6b1
Fix password validation with uppercase and lowercase minimum requirem…
jonkoops Oct 23, 2024
4194f9e
Add explicit getter method for organizations in RealmAdminResource
sguilhen Oct 21, 2024
2e02b49
fix: providing a separate session for each file (#34210) (#34252)
shawkins Oct 23, 2024
0347eaa
Fix link to Keycloak JS documentation (#33845) (#34205)
jonkoops Oct 23, 2024
f300fb8
fix: corrects cli arg stringification (#34156) (#34254)
shawkins Oct 23, 2024
ba6d95c
fix: persist build time spi options (#34157) (#34261)
shawkins Oct 23, 2024
f0446f0
fix: refines the provider caching logic (#34220)
shawkins Oct 23, 2024
0361d75
Keycloak-admin-client should work with the future versions of Keycloa…
mposolda Oct 24, 2024
f130f96
Fix password validation error messages (#34030) (#34294)
jonkoops Oct 24, 2024
4a367a9
Client Scope updates are not replicated between Keycloak nodes
pruivo Oct 23, 2024
a6d7e91
ConcurrentModificationException when restarting user sessions (#34314)
ahus1 Oct 28, 2024
993381c
Make organizations chapter available in downstream (#34384)
andymunro Oct 28, 2024
c5d9edf
add linear strategy to brute force
gilvansfilho Aug 6, 2024
f4d3f9d
Ensure searched LDAPObject is properly cached before other methods th…
sguilhen Oct 28, 2024
5b904db
Check if LDAPObject is available from a previously cached proxied user
sguilhen Oct 28, 2024
f196e88
Implement pagination for getLDAPRoleMappings (#34043) (#34409)
pedroigor Oct 29, 2024
1b9bf5d
fix: upgrading angus mail to 2.0.3 (#34316) (#34392)
shawkins Oct 29, 2024
ec578c0
Automatically retrieve configuration for authorization (#34044) (#34097)
jonkoops Oct 29, 2024
12ff16e
Add oracle dependency required for IDELauncher
mabartos Oct 29, 2024
d145c54
fixed key of policy group help (#34332) (#34478)
edewit Oct 30, 2024
58c7957
added possible override (#34479)
edewit Oct 30, 2024
5e67add
more space for the title override PF style (#33746) (#34480)
edewit Oct 30, 2024
6dbe8f7
also call onToggle on open changed (#33813) (#34481)
edewit Oct 30, 2024
f59aae2
Remove not needed Quarkus dependencies related to Dev UI services (#3…
vmuzikar Oct 31, 2024
6c4f861
Ensure hide_on_login has the default value set to 0 on MSSQL
sguilhen Oct 30, 2024
07a92c5
Add validChecksum to jpa-changelog-26.0.0.xml
sguilhen Oct 30, 2024
18dbf89
Remove inaccurate statement about master realm imports (#34544)
ahus1 Oct 31, 2024
81ce113
Do not rely on the pwdLastSet attribute when updating AD entries
pedroigor Oct 30, 2024
18968b9
Fix Quarkus dev mode (#34550)
vmuzikar Nov 1, 2024
1792bd1
Add checks to prevent GroupLDAPStorageMapper from performing operatio…
sguilhen Oct 30, 2024
4938a8e
Make documentation more clear that keycloak javascript adapter and no…
mposolda Nov 1, 2024
47e1e7a
Fixing cross-references between guides
ahus1 Nov 4, 2024
c9d916c
Fixing explicit Anchor for downstream
ahus1 Nov 4, 2024
1397f7f
added required attribute to multiline (#34336) (#34477)
edewit Nov 5, 2024
282ad88
fix bundling issues (#34387) (#34648)
edewit Nov 5, 2024
fd6fce1
cache-embedded-mtls-enabled is ignored
pruivo Nov 5, 2024
9f55393
Use a weekly cache key for PNPM store (#34656) (#34691)
jonkoops Nov 6, 2024
e11e019
fix: mark slf4j as not optional for the operator (#32652) (#34699)
vmuzikar Nov 7, 2024
22cc119
update the sizing guide with the correct instance type
kami619 Nov 7, 2024
dd7ce67
Surefire reports - support 26.0 release branch
lhanusov Nov 7, 2024
a5daed4
Remove Provider annotation along with default constructors from org r…
sguilhen Nov 1, 2024
3e06781
fixed link to documentation (#34613) (#34689)
edewit Nov 7, 2024
beb548a
Fix broken JavaScript adapter tests when running in cross-origin cont…
jonkoops Nov 7, 2024
227cb96
Guard against NPE by checking if caches are null in InfinispanOrganiz…
sguilhen Nov 6, 2024
8df4e88
Add Lets Encrypt intermediate CAs to keycloak.truststore
sguilhen Nov 6, 2024
5aa874e
Fix credential_type in update/remove credential email template
hauptrolle Nov 7, 2024
fd7125c
Strip Double Quotes from Request Content in Organization API
JonasDev17 Nov 4, 2024
80c17f8
Better message when updating users when import is disabled
pedroigor Nov 5, 2024
a3549f4
Revise help icons for WebauthnPolicy settings (#34465) (#34466) (#34690)
edewit Nov 11, 2024
5c9f183
Added a representation that includes an organization and user model
pedroigor Nov 12, 2024
9b0fad6
changed to use TextArea (#34539) (#34688)
edewit Nov 12, 2024
1289093
add brute force enabled so we can render switch (#34282) (#34476)
edewit Nov 12, 2024
a4993bb
Surefire artifacts - updating names for Quarkus IT and UT. (#34908)
lhanusov Nov 13, 2024
c27a55d
Address QE comments on HA guide (#34902)
andymunro Nov 13, 2024
495ddb8
Update Leveraging Jakarta EE (#34901)
andymunro Nov 13, 2024
90bd366
Update installation locations (#34871)
andymunro Nov 13, 2024
c15bc7c
Backport to make improvements for translations (#34878)
agagancarczyk Nov 13, 2024
ba9d0c3
Update docs with security warning around client certificate lookup (#…
vmuzikar Nov 13, 2024
b956819
EMBARGOED CVE-2024-10270 org.keycloak/keycloak-services: Keycloak Den…
douglaspalmer Nov 14, 2024
6a10c0e
fix: returning addresses instead of hosts on the ClientConnection (#208)
shawkins Nov 18, 2024
7bdc16f
fix: prevent inclusion of characters that could lead to FileVault pat…
Pepo48 Nov 18, 2024
13833fd
fix: ensures that properties are runtime properties are filtered (#209)
shawkins Nov 18, 2024
17863d1
Address QE comments on Server Admin Guide
andymunro Nov 13, 2024
cc64375
Allow returning attributes when querying organizations
pedroigor Nov 22, 2024
739afec
Send exact param in user attr search only when its enabled
sguilhen Nov 12, 2024
d3b192c
Apply QE authorization services guide comments
andymunro Nov 12, 2024
091245b
Use a hidden form to do `POST` based logout
jonkoops Nov 22, 2024
54eca95
Upgrade 24 to 25 fails because db jpa changes drop nonexisting indexes.
vramik Nov 22, 2024
63180be
Check "Always use lightweight access token" is enabled on the client …
graziang Nov 22, 2024
cd8a801
Ignore Accept-Language header for email themes
jonkoops Nov 22, 2024
1ba097a
Update upgrade guide docs 25.0.0 cache options
ahus1 Nov 22, 2024
4e858b8
more stable way to assert the text
edewit Nov 22, 2024
4c2ebfb
Use short UUID for ldap components
jonkoops Nov 22, 2024
154e141
Check the authentication config exists before returning its reference
rmartinc Nov 22, 2024
1aefd6e
Fixed the wrapping issue
agagancarczyk Nov 22, 2024
fea68ac
Backport to fix a11y issue in FormattedLink (#35126)
agagancarczyk Nov 22, 2024
f789e87
Removed obsololete a11y tests
agagancarczyk Nov 22, 2024
9768b9c
Allow updating the username when registration as email is enabled dur…
pedroigor Nov 22, 2024
3a9cc8e
Make sure unmanaged attributes are populated before updating username…
pedroigor Nov 22, 2024
69001b3
fix: using stable ordering for deprecated metadata
shawkins Nov 25, 2024
ea13176
getAll() organization and organization members only returns the first…
martin-kanis Nov 21, 2024
afb352d
Remove new test PoC from workflow
miquelsi Nov 25, 2024
91b7f81
Upgrade to ISPN 15.0.11.Final
ryanemerson Nov 25, 2024
c110149
wait for login to finish (#35044) (#35083)
edewit Nov 25, 2024
15ee6bb
trying to make general test switch less flaky (#34993) (#35100)
edewit Nov 25, 2024
36c942a
no longer disable when resource is pre selected (#34702) (#35134)
edewit Nov 25, 2024
bbe89d4
fix(doc): v24 changelog grammar typo "longer" -> "no longer" (#35285)
ahus1 Nov 26, 2024
3400602
Fix unordered list in caching guide (#35283)
ahus1 Nov 26, 2024
f0243a8
Backport to expose membership type
agagancarczyk Nov 14, 2024
c055f9c
Make PermissionTicket events marshallable
pruivo Nov 27, 2024
73ed061
Do not count current sessions in UserSessionLimitsAuthenticator
rmartinc Nov 26, 2024
7acb302
Improve session polling to prevent accidental redirects
jonkoops Nov 20, 2024
640f419
Use regular CREATE TABLE instead of CREATE TEMPORARY
pedroigor Nov 28, 2024
b9f4c92
Flaky test: AuthenticationSessionTest
pruivo Nov 28, 2024
f89ce01
Flaky test: org.keycloak.testsuite.forms.BrowserButtonsTest#appInitia…
douglaspalmer Oct 8, 2024
babd656
setting the user in ExecuteActionsActionTokenHandler.handleToken to m…
rishabhsvats Nov 28, 2024
1fae6be
Persist admin event only when roles is non-empty
venkatesh2090 Nov 20, 2024
c5426ed
Port required changes for reCAPTCHA to the new login theme (#35474) (…
jonkoops Dec 2, 2024
a1c6493
Make sure event details are not stored if they are null (#35502)
pedroigor Dec 2, 2024
9be23e9
Enable autocomplete for username in login (#34099) (#35543)
jonkoops Dec 3, 2024
a290543
BACKPORT: Events tab on client and user (#35512)
edewit Dec 3, 2024
b6c5d33
SAML Adapter Galleon Pack for EAP8 cannot use new metadata options fo…
pskopek Nov 28, 2024
3f61058
Upgrading guide 26.0.6 is missing in the upgrading guide (#35546)
ahus1 Dec 3, 2024
9b2d286
Create a new logout session when initiating it for another client
rmartinc Oct 23, 2024
24e9524
added missing components to the bundle (#35312) (#35560)
edewit Dec 3, 2024
a05f863
Backport to improve label in admin events search (#35494)
agagancarczyk Dec 4, 2024
e935303
Fix migration for MySQL database
sguilhen Nov 29, 2024
ec62199
Intermittent missing organization claim in Keycloak JWT token
martin-kanis Nov 29, 2024
901fbbc
Backport to sort event types (#35648)
agagancarczyk Dec 5, 2024
7ca877e
do not filter the realm list on recent used as it might be on the nex…
edewit Dec 5, 2024
47968bd
fix: changing the bootstrapping suggestion to the command (#35616) (#…
shawkins Dec 6, 2024
b6772ea
Do not run changeset if comlumn already exists
pedroigor Dec 2, 2024
5e38ab2
Better message when failing to update passwords due to invalid constr…
pedroigor Dec 6, 2024
c26ee82
`organizationEnabled` attributes are present as attributes in an export
pedroigor Dec 6, 2024
fd7d78f
Changing mis-formatted definition list of hashing algorithms to a table
ahus1 Nov 28, 2024
3926ef6
Fix help text for role policy. (#35423) (#35707)
ssilvert Dec 9, 2024
3ecdfae
Fix(admin-ui): key status filtering issue in KeysListTab (#34721) (#3…
edewit Dec 9, 2024
1d891ba
Show forbidden section only after whoAmI is set (#34589) (#35132)
edewit Dec 9, 2024
1a163be
Backport to fix css for temporary password switch (#35658)
agagancarczyk Dec 9, 2024
9a102f6
Backport to fix dialog title when deleting a user (#35508)
agagancarczyk Dec 9, 2024
381e17c
make test less flaky (#34994) (#35099)
edewit Dec 9, 2024
0c6ea3c
fix: using regex to expand local ipv6 matching (#35736) (#35737)
shawkins Dec 9, 2024
97a86cf
Revert back submitRequest to submit for saml ftl (#35659)
rmartinc Dec 10, 2024
8983013
Set clientId in the VerifyEmailActionToken when no one is passed
rmartinc Dec 3, 2024
9f06c93
added wait for group to load (#34814)
edewit Nov 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/actions/archive-surefire-reports/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ inputs:
release-branches:
description: 'List of all related release branches (in JSON format)'
required: false
default: '["refs/heads/release/22.0","refs/heads/release/24.0"]'
default: '["refs/heads/release/22.0","refs/heads/release/24.0","refs/heads/release/26.0"]'
keep-days:
description: 'For how many days to store the particular artifact.'
required: false
Expand Down
8 changes: 4 additions & 4 deletions .github/actions/build-keycloak/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ runs:
with:
create-cache-if-it-doesnt-exist: true

- id: frontend-plugin-cache
name: Frontend Plugin Cache
uses: ./.github/actions/frontend-plugin-cache
- id: pnpm-store-cache
name: PNPM store cache
uses: ./.github/actions/pnpm-store-cache

- id: build-keycloak
name: Build Keycloak
Expand All @@ -35,7 +35,7 @@ runs:
# Ensure this plugin is built first to avoid warnings in the build
./mvnw install -Pdistribution -am -pl distribution/maven-plugins/licenses-processor
# By using "dependency:resolve", it will download all dependencies used in later stages for running the tests
./mvnw install dependency:resolve -V -e -DskipTests -DskipExamples -DexcludeGroupIds=org.keycloak -Dsilent=true
./mvnw install dependency:resolve -V -e -DskipTests -DskipExamples -DexcludeGroupIds=org.keycloak -Dsilent=true -DcommitProtoLockChanges=true

- id: compress-keycloak-maven-repository
name: Compress Keycloak Maven artifacts
Expand Down
20 changes: 20 additions & 0 deletions .github/actions/cypress-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Cache Cypress
description: Caches Cypress binary to speed up the build.

runs:
using: composite
steps:
- id: cache-key
name: Cache key based on Cypress version
shell: bash
run: echo "key=cypress-binary-$(jq -r '.devDependencies.cypress' js/apps/admin-ui/package.json)" >> $GITHUB_OUTPUT

- uses: actions/cache@v4
name: Cache Cypress binary
with:
# See: https://docs.cypress.io/app/references/advanced-installation#Binary-cache
path: |
~/.cache/Cypress
/AppData/Local/Cypress/Cache
~/Library/Caches/Cypress
key: ${{ runner.os }}-${{ steps.cache-key.outputs.key }}
21 changes: 0 additions & 21 deletions .github/actions/frontend-plugin-cache/action.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/actions/integration-test-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ runs:
name: Maven cache
uses: ./.github/actions/maven-cache

- id: frontend-plugin-cache
name: Frontend Plugin Cache
uses: ./.github/actions/frontend-plugin-cache
- id: pnpm-store-cache
name: PNPM store cache
uses: ./.github/actions/pnpm-store-cache

- id: download-keycloak
name: Download Keycloak Maven artifacts
Expand Down
31 changes: 12 additions & 19 deletions .github/actions/pnpm-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,19 @@ runs:
shell: bash
run: corepack enable

- name: Get PNPM store directory
id: pnpm-cache
shell: bash
run: |
echo "store-path=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
- name: PNPM store cache
uses: ./.github/actions/pnpm-store-cache

- uses: actions/cache@v4
name: Setup PNPM cache
with:
# Also cache Cypress binary.
path: |
~/.cache/Cypress
${{ steps.pnpm-cache.outputs.store-path }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Cypress binary cache
uses: ./.github/actions/cypress-cache

- name: Install dependencies
shell: bash
# Run the store prune after the installation to avoid having caches which grow over time
run: |
pnpm install --prefer-offline --frozen-lockfile
pnpm store prune
run: pnpm install --prefer-offline --frozen-lockfile

# This step is only needed to ensure that the Cypress binary is installed.
# If the binary was retrieved from the cache, this step is a no-op.
- name: Install Cypress dependencies
shell: bash
working-directory: js/apps/admin-ui
run: pnpm exec cypress install
20 changes: 20 additions & 0 deletions .github/actions/pnpm-store-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Cache PNPM store
description: Caches the PNPM store to speed up the build.

runs:
using: composite
steps:
- id: weekly-cache-key
name: Key for weekly rotation of cache
shell: bash
run: echo "key=pnpm-store-`date -u "+%Y-%U"`" >> $GITHUB_OUTPUT

- uses: actions/cache@v4
name: Cache PNPM store
with:
# See: https://pnpm.io/npmrc#store-dir
path: |
~/.local/share/pnpm/store
~/AppData/Local/pnpm/store
~/Library/pnpm/store
key: ${{ runner.os }}-${{ steps.weekly-cache-key.outputs.key }}
4 changes: 2 additions & 2 deletions .github/actions/unit-test-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ runs:
name: Maven cache
uses: ./.github/actions/maven-cache

- id: frontend-plugin-cache
- id: pnpm-store-cache
name: Frontend Plugin Cache
uses: ./.github/actions/frontend-plugin-cache
uses: ./.github/actions/pnpm-store-cache
2 changes: 1 addition & 1 deletion .github/scripts/ansible/aws_ec2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ CLUSTER_NAME=$3
case $OPERATION in
requirements)
ansible-galaxy collection install -r requirements.yml
pip3 install --user "ansible==9.*" boto3 botocore
pip3 install ansible boto3 botocore
;;
create|delete|start|stop)
if [ -f "env.yml" ]; then ANSIBLE_CUSTOM_VARS_ARG="-e @env.yml"; fi
Expand Down
3 changes: 2 additions & 1 deletion .github/scripts/ansible/roles/aws_ec2/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ cluster_size: 1

cidr_ip: "{{ control_host_ip.stdout }}/32"

ami_name: RHEL-8.8.0_HVM-20230503-x86_64-54-Hourly2-GP2
# aws ec2 describe-images --owners 309956199498 --filters "Name=architecture,Values=x86_64" "Name=virtualization-type,Values=hvm" --region eu-west-1 --no-include-deprecated --query 'Images[] | sort_by(@, &CreationDate)[].Name'
ami_name: RHEL-9.4_HVM_GA-20240827-x86_64-0-Hourly2-GP3

instance_type: t3.large
instance_volume_size: 20
Expand Down
18 changes: 18 additions & 0 deletions .github/scripts/run-fips-it.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,23 @@ echo "Tests: $TESTS"
export JAVA_HOME=/etc/alternatives/java_sdk_21
set -o pipefail

# Build adapter distributions
./mvnw install -DskipTests -f distribution/pom.xml
if [ $? -ne 0 ]; then
exit 1
fi

# Build app servers
./mvnw install -DskipTests -Pbuild-app-servers -f testsuite/integration-arquillian/servers/app-server/pom.xml
if [ $? -ne 0 ]; then
exit 1
fi

# Prepare Quarkus distribution with BCFIPS
./mvnw install -e -pl testsuite/integration-arquillian/servers/auth-server/quarkus -Pauth-server-quarkus,auth-server-fips140-2
if [ $? -ne 0 ]; then
exit 1
fi

# Profile app-server-wildfly needs to be explicitly set for FIPS tests
./mvnw test -Dsurefire.rerunFailingTestsCount=$SUREFIRE_RERUN_FAILING_COUNT -nsu -B -Pauth-server-quarkus,auth-server-fips140-2,app-server-wildfly -Dcom.redhat.fips=false $STRICT_OPTIONS -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
44 changes: 10 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ jobs:
ci-store: ${{ steps.conditional.outputs.ci-store }}
ci-sssd: ${{ steps.conditional.outputs.ci-sssd }}
ci-webauthn: ${{ steps.conditional.outputs.ci-webauthn }}
ci-test-poc: ${{ steps.conditional.outputs.ci-test-poc }}
ci-aurora: ${{ steps.auroradb-tests.outputs.run-aurora-tests }}

steps:
Expand Down Expand Up @@ -64,6 +63,10 @@ jobs:
- name: Build Keycloak
uses: ./.github/actions/build-keycloak

- name: Check for unstaged proto.lock files
if: github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release/')
run: git diff --name-only --exit-code -- "**/proto.lock"

unit-tests:
name: Base UT
runs-on: ubuntu-latest
Expand Down Expand Up @@ -206,7 +209,7 @@ jobs:
if: always()
uses: ./.github/actions/archive-surefire-reports
with:
job-id: quarkus-unit-tests
job-id: quarkus-unit-tests-${{ matrix.os }}

quarkus-integration-tests:
name: Quarkus IT
Expand Down Expand Up @@ -265,7 +268,7 @@ jobs:
if: always()
uses: ./.github/actions/archive-surefire-reports
with:
job-id: quarkus-integration-tests-${{ matrix.os }}-${{ matrix.server }}
job-id: quarkus-integration-tests-${{ matrix.os }}-${{ matrix.suite }}

jdk-integration-tests:
name: Java Distribution IT
Expand Down Expand Up @@ -455,7 +458,10 @@ jobs:
zip -u /tmp/keycloak.zip aws.pem

cd .github/scripts/ansible
python3 -m venv .venv
source .venv/bin/activate
./aws_ec2.sh requirements
pipx inject ansible-core boto3 botocore
./aws_ec2.sh create ${AWS_REGION} ${EC2_CLUSTER_NAME}
./keycloak_ec2_installer.sh ${AWS_REGION} ${EC2_CLUSTER_NAME} /tmp/keycloak.zip
./mvn_ec2_runner.sh ${AWS_REGION} ${EC2_CLUSTER_NAME} "clean install -B -DskipTests -Pdistribution"
Expand Down Expand Up @@ -553,6 +559,7 @@ jobs:
if: always()
working-directory: .github/scripts/ansible
run: |
source .venv/bin/activate
./aws_ec2.sh delete ${{ steps.aurora-init.outputs.region }} ${{ steps.ec2-create.outputs.ec2_cluster }}

- name: Delete Aurora DB
Expand Down Expand Up @@ -728,16 +735,6 @@ jobs:
with:
jdk-version: 21

- name: Build adapter distributions
run: ./mvnw install -DskipTests -f distribution/pom.xml

- name: Build app servers
run: ./mvnw install -DskipTests -Pbuild-app-servers -f testsuite/integration-arquillian/servers/app-server/pom.xml


- name: Prepare Quarkus distribution with BCFIPS
run: ./mvnw install -e -pl testsuite/integration-arquillian/servers/auth-server/quarkus -Pauth-server-quarkus,auth-server-fips140-2

- name: Run base tests
run: docker run --rm --workdir /github/workspace -e "SUREFIRE_RERUN_FAILING_COUNT" -v "${{ github.workspace }}":"/github/workspace" -v "$HOME/.m2":"/root/.m2" registry.access.redhat.com/ubi8/ubi:latest .github/scripts/run-fips-it.sh ${{ matrix.mode }}

Expand Down Expand Up @@ -938,26 +935,6 @@ jobs:
- name: Run tests
run: ./mvnw test -f test-framework/pom.xml

test-poc:
name: Test PoC
runs-on: ubuntu-latest
if: needs.conditional.outputs.ci-test-poc == 'true'
needs:
- conditional
- build
timeout-minutes: 30
steps:
- uses: actions/checkout@v4

- id: integration-test-setup
name: Integration test setup
uses: ./.github/actions/integration-test-setup

- name: Run tests
env:
KC_TEST_BROWSER: chrome-headless
run: ./mvnw clean install -f test-poc/pom.xml

check:
name: Status Check - Keycloak CI
if: always()
Expand All @@ -981,7 +958,6 @@ jobs:
- sssd-unit-tests
- migration-tests
- external-infinispan-tests
- test-poc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/operator-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
uses: ./.github/actions/java-setup

- name: Setup Minikube-Kubernetes
uses: manusa/actions-setup-minikube@v2.11.0
uses: manusa/actions-setup-minikube@v2.13.0
with:
minikube version: ${{ env.MINIKUBE_VERSION }}
kubernetes version: ${{ env.KUBERNETES_VERSION }}
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
uses: ./.github/actions/java-setup

- name: Setup Minikube-Kubernetes
uses: manusa/actions-setup-minikube@v2.11.0
uses: manusa/actions-setup-minikube@v2.13.0
with:
minikube version: ${{ env.MINIKUBE_VERSION }}
kubernetes version: ${{ env.KUBERNETES_VERSION }}
Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
uses: ./.github/actions/java-setup

- name: Setup Minikube-Kubernetes
uses: manusa/actions-setup-minikube@v2.11.0
uses: manusa/actions-setup-minikube@v2.13.0
with:
minikube version: ${{ env.MINIKUBE_VERSION }}
kubernetes version: ${{ env.KUBERNETES_VERSION }}
Expand Down
11 changes: 11 additions & 0 deletions authz/client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,17 @@
<artifactId>jackson-annotations</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.keycloak.authorization.client.resource.ProtectionResource;
import org.keycloak.authorization.client.util.Http;
import org.keycloak.authorization.client.util.TokenCallable;
import org.keycloak.common.crypto.CryptoIntegration;
import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.util.SystemPropertiesJsonParserFactory;
Expand Down Expand Up @@ -91,6 +92,7 @@ public static AuthzClient create(InputStream configStream) throws RuntimeExcepti
* @return a new instance
*/
public static AuthzClient create(Configuration configuration) {
CryptoIntegration.init(AuthzClient.class.getClassLoader());
return new AuthzClient(configuration);
}

Expand Down
Loading
Loading