AI Slop Code Risk Monitor

keycloak/keycloak

SlopCodeMonitor badge for keycloak/keycloak Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Open Source Identity and Access Management For Modern Applications and Services

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for keycloak/keycloak, a Java project with 37,618 GitHub stars. SynthScan examined 1,590,451 lines of code across 10720 source files, recording 659 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.5
Adjusted Signal
1.5
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
37.6K
Stars
Java
Language
1.6M
Lines of Code
10.7K
Files
659
Pattern Hits
2026-10-31
Scan Date
0.02
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 1.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 381 finding(s).

Hallucinated Dependency & Supply Chain Risk 5.4/100 · LOW

Are imports declared and package/API names verified? 265 finding(s).

Agent Over-Engineering Ratio 0.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 179 finding(s).

PR Review Velocity Impact 6.7/100 · LOW

Which changes need focused human review? 659 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 164HIGH 5MEDIUM 24LOW 466

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 659 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators164 hits · 1655 pts
SeverityFileLineSnippetContext
CRITICAL…rg/keycloak/themeverifier/VerifyMessageProperties.java237 sanitized = org.apache.commons.text.StringEscapeUtils.unescapeHtml4(sanitized);CODE
CRITICAL…rg/keycloak/themeverifier/VerifyMessageProperties.java300 value = org.apache.commons.text.StringEscapeUtils.unescapeHtml4(value);CODE
CRITICAL…uarkus/runtime/cli/UpdateCompatibilityPicocliTest.java96 assertEquals(majorMinorOf(org.infinispan.commons.util.Version.getVersion()), info.get(CacheEmbeddedConfigProvideCODE
CRITICAL…uarkus/runtime/cli/UpdateCompatibilityPicocliTest.java129 String ispnVersion = majorMinorOf(org.infinispan.commons.util.Version.getVersion());CODE
CRITICAL…uarkus/runtime/cli/UpdateCompatibilityPicocliTest.java338 m.put("version", majorMinorOf(org.infinispan.commons.util.Version.getVersion()));CODE
CRITICAL⚡…ain/java/org/keycloak/quarkus/runtime/Environment.java99 if (org.keycloak.common.util.Environment.isDevMode()) {CODE
CRITICAL⚡…ain/java/org/keycloak/quarkus/runtime/Environment.java103 return org.keycloak.common.util.Environment.DEV_PROFILE_VALUE.equals(Configuration.getNonPersistedConfigValue(orCODE
CRITICAL⚡…ain/java/org/keycloak/quarkus/runtime/Environment.java107 return org.keycloak.common.util.Environment.isDevMode();CODE
CRITICAL⚡…in/java/org/keycloak/quarkus/runtime/KeycloakMain.java141 String.format("Failed to start server in (%s) mode", getKeycloakModeFromProfile(org.keycloak.common.utilCODE
CRITICAL⚡…in/java/org/keycloak/quarkus/runtime/KeycloakMain.java147 String.format("Failed to start server in (%s) mode", getKeycloakModeFromProfile(org.keycloakCODE
CRITICAL⚡…in/java/org/keycloak/quarkus/runtime/KeycloakMain.java154 String.format("Unexpected error when starting the server in (%s) mode", getKeycloakModeFromProfile(oCODE
CRITICAL…c/main/java/org/keycloak/quarkus/runtime/Messages.java38 if (!org.keycloak.common.util.Environment.DEV_PROFILE_VALUE.equals(org.keycloak.common.util.Environment.getProfiCODE
CRITICAL…untime/configuration/KeycloakConfigSourceProvider.java44 String profile = org.keycloak.common.util.Environment.getProfile();CODE
CRITICAL…runtime/configuration/mappers/HttpPropertyMappers.java577 if (Environment.isDevMode() || org.keycloak.common.util.Environment.isNonServerMode()) {CODE
CRITICAL…time/configuration/mappers/CachingPropertyMappers.java42 (value, context) -> org.keycloak.common.util.Environment.isNonServerMode()CODE
CRITICAL…e/configuration/mappers/HostnameV2PropertyMappers.java59 boolean isProd = Environment.PROD_PROFILE_VALUE.equals(org.keycloak.common.util.Environment.getProfile());CODE
CRITICAL…ain/java/org/keycloak/quarkus/runtime/cli/Picocli.java585 String profile = org.keycloak.common.util.Environment.getProfile();CODE
CRITICAL…ain/java/org/keycloak/quarkus/runtime/cli/Picocli.java934 String profile = Optional.ofNullable(org.keycloak.common.util.Environment.getProfile())CODE
CRITICAL…g/keycloak/quarkus/runtime/cli/command/ShowConfig.java63 String profile = org.keycloak.common.util.Environment.getProfile();CODE
CRITICAL…rkus/runtime/cli/command/AbstractAutoBuildCommand.java56 String profile = org.keycloak.common.util.Environment.getProfile();CODE
CRITICAL…ders/java/org/keycloak/it/jaxrs/filter/TestFilter.java65 // should say something like Normal scoped producer method may not return null: org.keycloak.quarkus.runtimeCOMMENT
CRITICAL…rg/keycloak/quarkus/deployment/LiquibaseProcessor.java87 classes.removeIf(classInfo -> !org.keycloak.config.database.Database.isLiquibaseDatabaseSupported(classInfo.CODE
CRITICAL…g/keycloak/crypto/hash/Argon2PasswordHashProvider.java119 org.bouncycastle.crypto.params.Argon2Parameters.Builder builder = new org.bouncycastle.crypto.paramsCODE
CRITICAL…/keycloak/crypto/elytron/test/ElytronPemUtilsTest.java40 String encoded = org.keycloak.common.util.PemUtils.generateThumbprint(test, "SHA-1");CODE
CRITICAL…/keycloak/crypto/elytron/test/ElytronPemUtilsTest.java47 String encoded = org.keycloak.common.util.PemUtils.generateThumbprint(test, "SHA-256");CODE
CRITICALcore/src/test/java/org/keycloak/util/PemUtilsTest.java30 String encoded = org.keycloak.common.util.PemUtils.generateThumbprint(test, "SHA-1");CODE
CRITICALcore/src/test/java/org/keycloak/util/PemUtilsTest.java37 String encoded = org.keycloak.common.util.PemUtils.generateThumbprint(test, "SHA-256");CODE
CRITICAL…re/src/main/java/org/keycloak/jose/jws/JWSBuilder.java116 if (org.keycloak.crypto.Algorithm.Ed25519.equals(sigAlgName) || org.keycloak.crypto.Algorithm.Ed448.equals(sigAlCODE
CRITICALtestsuite/integration-arquillian/HOW-TO-RUN.md511or not known at org.keycloak.testsuite.util.OAuthClient.doWellKnownRequest(OAuthClient.java:1032)CODE
CRITICALtestsuite/integration-arquillian/HOW-TO-RUN.md512at org.keycloak.testsuite.url.DefaultHostnameTest.assertBackendForcedToFrontendWithMatchingHostname(CODE
CRITICAL…va/org/keycloak/testsuite/broker/KcSamlBrokerTest.java336 assertThat(ob, org.keycloak.testsuite.util.Matchers.isSamlResponse(JBossSAMLURIConstants.STATUS_CODE
CRITICAL…ak/testsuite/broker/KcOIDCBrokerWithSignatureTest.java171 KeysMetadataRepresentation.KeyMetadataRepresentation key = org.keycloak.testsuite.util.KeyUtils.findActiveSigninCODE
CRITICAL…ak/testsuite/broker/KcOIDCBrokerWithSignatureTest.java206 KeysMetadataRepresentation.KeyMetadataRepresentation key = org.keycloak.testsuite.util.KeyUtils.findActiveSigninCODE
CRITICAL…ak/testsuite/broker/KcOIDCBrokerWithSignatureTest.java234 KeysMetadataRepresentation.KeyMetadataRepresentation key = org.keycloak.testsuite.util.KeyUtils.findActiveSigninCODE
CRITICAL…ak/testsuite/broker/KcOIDCBrokerWithSignatureTest.java285 KeysMetadataRepresentation.KeyMetadataRepresentation key = org.keycloak.testsuite.util.KeyUtils.findActiveSigninCODE
CRITICAL…ak/testsuite/broker/KcOIDCBrokerWithSignatureTest.java314 KeysMetadataRepresentation.KeyMetadataRepresentation key = org.keycloak.testsuite.util.KeyUtils.findActiveSigninCODE
CRITICAL…ak/testsuite/broker/KcOIDCBrokerWithSignatureTest.java372 KeysMetadataRepresentation.KeyMetadataRepresentation key = org.keycloak.testsuite.util.KeyUtils.findActiveSigninCODE
CRITICAL…/keycloak/testsuite/broker/KcSamlSignedBrokerTest.java134 .assertResponse(org.keycloak.testsuite.util.Matchers.statusCodeIsHC(Status.BAD_REQUEST));CODE
CRITICAL…/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java378 KeyPair keyPair = org.keycloak.common.util.KeyUtils.generateRsaKeyPair(2048);CODE
CRITICAL…/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java391 KeyPair keyPair = org.keycloak.common.util.KeyUtils.generateRsaKeyPair(2048);CODE
CRITICAL…/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java403 testUploadCertificatePEM(org.keycloak.common.util.KeyUtils.generateRsaKeyPair(2048), Algorithm.RS256, null);CODE
CRITICAL…/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java413 testUploadPublicKeyPem(org.keycloak.common.util.KeyUtils.generateRsaKeyPair(2048), Algorithm.RS256, null);CODE
CRITICAL…/oauth/tokenexchange/ClientTokenExchangeSAML2Test.java692 return org.keycloak.testsuite.util.KeyUtils.publicKeyFromString(keyRep.getPublicKey());CODE
CRITICAL…/oauth/tokenexchange/ClientTokenExchangeSAML2Test.java696 return org.keycloak.testsuite.util.KeyUtils.privateKeyFromString(privateKey);CODE
CRITICAL…/org/keycloak/testsuite/forms/PasswordHashingTest.java421 org.bouncycastle.crypto.params.Argon2Parameters parameters = new org.bouncycastle.crypto.params.Argon2ParameCODE
CRITICAL…/java/org/keycloak/testsuite/forms/BruteForceTest.java582 long T1 = org.keycloak.common.util.Time.currentTimeMillis();CODE
CRITICAL…ava/org/keycloak/testsuite/util/AssertAdminEvents.java300 int expectedLength = prefix.length() + 1 + org.keycloak.models.utils.KeycloakModelUtils.generateId().lenCODE
CRITICAL…va/org/keycloak/testsuite/util/ClientPoliciesUtil.java512 return org.keycloak.common.util.KeyUtils.generateEcKeyPair(ecDomainParamName);CODE
CRITICAL…est/java/org/keycloak/testsuite/util/RealmManager.java98 rep.setCodeSecret(org.keycloak.models.utils.KeycloakModelUtils.generateCodeSecret());CODE
CRITICAL…eycloak/testsuite/oidc/LightWeightAccessTokenTest.java998 runOnServerMaster.run(RunHelpers.reinitializeProviderFactoryWithSystemPropertiesScope(org.keycloak.protocol.LogiCODE
CRITICAL…/testsuite/adapter/servlet/SAMLServletAdapterTest.java726 NEW_KEY_PAIR = KeyUtils.generateRsaKeyPair(org.keycloak.testsuite.util.KeyUtils.getLowestSupportedRsaKeySizeCODE
CRITICAL…t/java/org/keycloak/testsuite/client/FAPICIBATest.java441 requestObject.id(org.keycloak.models.utils.KeycloakModelUtils.generateId());CODE
CRITICAL…t/java/org/keycloak/testsuite/client/FAPICIBATest.java457 requestObject.id(org.keycloak.models.utils.KeycloakModelUtils.generateId());CODE
CRITICAL…/test/java/org/keycloak/testsuite/client/CIBATest.java1864 requestObject.id(org.keycloak.models.utils.KeycloakModelUtils.generateId());CODE
CRITICAL…/test/java/org/keycloak/testsuite/client/CIBATest.java1890 requestObject.id(org.keycloak.models.utils.KeycloakModelUtils.generateId());CODE
CRITICAL…/test/java/org/keycloak/testsuite/client/CIBATest.java2980 requestObject.id(org.keycloak.models.utils.KeycloakModelUtils.generateId());CODE
CRITICAL…te/client/policies/SamlClientPoliciesExecutorTest.java267 org.keycloak.testsuite.util.Matchers.isSamlStatusResponse(JBossSAMLURIConstants.STATUS_SCODE
CRITICAL…te/client/policies/SamlClientPoliciesExecutorTest.java291 org.keycloak.testsuite.util.Matchers.isSamlStatusResponse(JBossSAMLURIConstants.STATUS_SCODE
CRITICAL…te/client/policies/SamlClientPoliciesExecutorTest.java321 org.keycloak.testsuite.util.Matchers.isSamlStatusResponse(JBossSAMLURIConstants.STATUS_SCODE
CRITICAL…/test/java/org/keycloak/testsuite/saml/BrokerTest.java289 .assertResponse(org.keycloak.testsuite.util.Matchers.statusCodeIsHC(200))CODE
104 more matches not shown…
Hyper-Verbose Identifiers166 hits · 199 pts
SeverityFileLineSnippetContext
LOWjs/libs/ui-shared/src/utils/errors.ts32export function getNetworkErrorDescription(data: unknown) {CODE
LOWjs/apps/account-ui/test/verifiable-credentials.spec.ts30async function openVerifiableCredentials(page: Page, realmName: string) {CODE
LOW…count-ui/test/account-security/linked-accounts.spec.ts102async function loginWithUsernamePassword(CODE
LOWjs/apps/account-ui/src/api/methods.ts118export async function deleteApplicationSessions(CODE
LOWjs/apps/account-ui/src/api/methods.ts196export async function deleteVerifiableCredential(CODE
LOWjs/apps/account-ui/src/api/methods.ts211export async function getIssuedVerifiableCredentials({CODE
LOWjs/apps/account-ui/src/api/methods.ts223export async function revokeIssuedVerifiableCredential(CODE
LOWjs/apps/admin-ui/test/organization/groups.ts6export async function selectOrgGroupActionToggleItem(page: Page, item: string) {CODE
LOW⚡js/apps/admin-ui/test/clients/scope.ts9export async function goToClientScopeEvaluateTab(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/scope.ts13export async function goToEffectiveRoleScopeMappingsTab(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/scope.ts17export async function assertEffectiveRoleScopeMapping(CODE
LOW⚡js/apps/admin-ui/test/clients/scope.ts59export async function assertTableCellDropdownValue(page: Page, value: string) {CODE
LOW⚡js/apps/admin-ui/test/clients/scope.ts63export async function goToGenerateAccessTokenTab(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/scope.ts67export async function assertHasAccessTokenGenerated(CODE
LOWjs/apps/admin-ui/test/clients/scope.ts81export async function assertNoAccessTokenGenerated(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/scope.ts88export async function assertHasUserInfoGenerated(page: Page, username: string) {CODE
LOWjs/apps/admin-ui/test/clients/scope.ts103export async function assertHasIdTokenGenerated(page: Page, username: string) {CODE
LOWjs/apps/admin-ui/test/clients/scope.ts121export async function assertNoUserInfoGenerated(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/initial-access.ts4export async function goToInitialAccessTokenTab(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/initial-access.ts8export async function assertInitialAccessTokensIsEmpty(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/initial-access.ts14export async function assertInitialAccessTokensIsNotEmpty(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/initial-access.ts36export async function assertExpirationGreaterThanZeroError(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/initial-access.ts50export async function checkSaveButtonIsDisabled(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/details.ts10function getKeyForCodeExchangeInput(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/details.ts14export async function selectKeyForCodeExchangeInput(page: Page, value: string) {CODE
LOW⚡js/apps/admin-ui/test/clients/details.ts19export async function assertKeyForCodeExchangeInput(page: Page, value: string) {CODE
LOWjs/apps/admin-ui/test/clients/details.ts32export async function enableJwtAuthorizationGrant(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/details.ts36export async function getJwtAuthorizationGrantIdpOptions(CODE
LOWjs/apps/admin-ui/test/clients/authorization.ts21export async function clickAuthenticationSaveButton(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/authorization.ts41export async function assertEmptyStateNotVisible(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/authorization.ts146export function getEvaluateResourceKeyInput(page: Page, rowIndex = 0) {CODE
LOWjs/apps/admin-ui/test/clients/authorization.ts154export function getEvaluateResourceKeyOptions(page: Page, rowIndex = 0) {CODE
LOWjs/apps/admin-ui/test/clients/authorization.ts209export async function assertEvaluatePermissionScopes(CODE
LOW⚡js/apps/admin-ui/test/clients/registration-policies.ts3export async function goToClientRegistrationTab(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/registration-policies.ts11export async function clickCreateAnonymousPolicy(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/registration-policies.ts15export async function clickCreateAuthenticatedPolicy(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/role.ts13export async function goToCreateRoleFromEmptyState(page: Page) {CODE
LOW…s/admin-ui/test/clients/assign-oid4vci-client-scope.ts51async function clickCreateClientScopeAction(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts14function getKeyForEncryptionAlgorithmInput(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts18function getKeyForEncryptionKeyAlgorithmInput(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts22function getKeyForEncryptionDigestMethodInput(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts26function getKeyForEncryptionMaskGenerationFunctionInput(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/saml.ts87export async function clickEncryptionAssertions(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/saml.ts91export async function clickOffEncryptionAssertions(page: Page) {CODE
LOWjs/apps/admin-ui/test/clients/saml.ts107export async function assertNameIdFormatDropdown(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts121export async function selectEncryptionAlgorithmInput(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts128export async function selectEncryptionKeyAlgorithmInput(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts135export async function selectEncryptionDigestMethodInput(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts142export async function selectEncryptionMaskGenerationFunctionInput(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts153export async function assertEncryptionAlgorithm(page: Page, value: string) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts157export async function assertEncryptionKeyAlgorithm(page: Page, value: string) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts161export async function assertEncryptionDigestMethod(page: Page, value: string) {CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts165export async function assertEncryptionMaskGenerationFunction(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts183export async function assertEncryptionAlgorithmInputVisible(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts190export async function assertEncryptionKeyAlgorithmInputVisible(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts197export async function assertEncryptionDigestMethodInputVisible(CODE
LOW⚡js/apps/admin-ui/test/clients/saml.ts204export async function assertEncryptionMaskGenerationFunctionInputVisible(CODE
LOWjs/apps/admin-ui/test/clients/advanced.ts25export async function assertTestClusterAvailability(CODE
LOW⚡js/apps/admin-ui/test/clients/advanced.ts42function getAccessTokenSignatureAlgorithm(page: Page) {CODE
LOW⚡js/apps/admin-ui/test/clients/advanced.ts46export async function selectAccessTokenSignatureAlgorithm(CODE
106 more matches not shown…
Structural Annotation Overuse68 hits · 126 pts
SeverityFileLineSnippetContext
LOW⚡…est/java/org/keycloak/testsuite/oauth/par/ParTest.java316 // Step 1 - Login as regular user and obtain sessionIdCOMMENT
LOW⚡…est/java/org/keycloak/testsuite/oauth/par/ParTest.java324 // Step 2: PAR request with some custom injected parametersCOMMENT
LOW…est/java/org/keycloak/testsuite/oauth/par/ParTest.java339 // Step 3: Attempt to exchange code for token with the "fake code" from PARCOMMENT
LOW…RequiredActionUpdateEmailTestWithVerificationTest.java571 // Step 1: Login and change email (triggers verification due to realm verification setting)COMMENT
LOW…RequiredActionUpdateEmailTestWithVerificationTest.java587 // Step 2: Logout and login again (should show pending verification message)COMMENT
LOW…RequiredActionUpdateEmailTestWithVerificationTest.java599 // Step 3: Complete verification to ensure cache is clearedCOMMENT
LOW⚡…keycloak/tests/oid4vc/OID4VCRefreshCredentialTest.java910 // Step 2: Exchange Token-A → Token-B (first refresh — should succeed)COMMENT
LOW⚡…keycloak/tests/oid4vc/OID4VCRefreshCredentialTest.java918 // Step 3: Replay Token-A — should be REJECTED because it was already consumedCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java472 // Step 1: Request token without authorization_details parameter (no scope needed)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java501 // Step 2: Request the actual credential using ONLY the identifier (no credential_configuration_id)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java537 // Step 3: Verify that the issued credential structure is validCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java555 // Step 1: Get pre-authorized code tokenCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java572 // Step 2: Verify token works at credential endpoint (should succeed)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java585 // Step 3: Verify token is rejected at Account REST API endpoint (uses BearerTokenAuthenticator)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java599 // Step 4: Verify token is rejected at Admin REST API endpoint (uses BearerTokenAuthenticator)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java637 // Step 1: Request token without authorization_details parameterCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java710 // Step 1: Request token with authorization details containing specific claimsCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java750 // Step 2: Request the actual credential using the identifier and config idCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java787 // Step 3: Verify that the issued credential contains the requested claims AND may contain additional claimsCOMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java166 // Step 1: First login with OID4VCI (should return authorization_details)COMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java171 // Step 2: Logout and clear cookies to isolate sessions strictlyCOMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java178 // Step 3: Second login - Regular SSO (should NOT return authorization_details)COMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java190 // Step 4: Second token must NOT have authorization_detailsCOMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java194 // Step 5: Credential request with second token must failCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java114 // Step 2: Perform authorization with PARCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java122 // Step 3: Exchange authorization code for tokens (WITHOUT authorization_details in token request)COMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java130 // Step 4: Verify authorization_details is present in token responseCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java269 // Step 2: Perform authorization with PARCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java277 // Step 3: Exchange authorization code for tokensCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java284 // Step 4: Verify authorization_details are derived from requested OID4VC scopeCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java84 // Step 1: Create PAR request with authorization_detailsCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java154 // Step 5: Request the actual credential using the identifierCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java170 // Step 1: Create PAR request with INVALID authorization_detailsCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java192 // Step 2: Perform authorization with PARCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java209 // Step 1: Create PAR request with authorization_detailsCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java240 // Step 2: Perform authorization with PARCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java257 // Step 1: Create PAR request WITHOUT authorization_detailsCOMMENT
LOW…oak/tests/oauth/OfflineTokenSessionManagementTest.java312 // Step 1 - online login with "tets-app"COMMENT
LOW⚡…oak/tests/oauth/OfflineTokenSessionManagementTest.java324 // Step 2 - offline login with "offline-client"COMMENT
LOW⚡…oak/tests/oauth/OfflineTokenSessionManagementTest.java334 // Step 3 - set some offset to refresh SSO session and offline user session. But use different client, so thCOMMENT
LOW⚡…oak/tests/oauth/OfflineTokenSessionManagementTest.java344 // Step 4 - set bigger time offset and login with the original client "offline-token". Login should be succeCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java214 // Step 1: Interactive login to establish an SSO sessionCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java218 // Step 2: Push a new PAR requestCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java223 // Step 3: First use of request_uri with prompt=none — must succeed via silent authCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java232 // Step 4: Replay the same request_uri — must be rejected (PAR already consumed)COMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java236 // Step 5: Verify the code from the first (legitimate) use is still validCOMMENT
LOW⚡…oak/tests/model/AuthenticationSessionProviderTest.java357 // Step 1: Create session at base timeCOMMENT
LOW⚡…oak/tests/model/AuthenticationSessionProviderTest.java364 // Step 2: Refresh timestamp at +25 (middle of first 50-second coarse bucket).COMMENT
LOW…oak/tests/model/AuthenticationSessionProviderTest.java383 // Step 3: At +112, threshold = T0+12. coarse = T0 < T0+12 (candidate), butCOMMENT
LOW…oak/tests/model/AuthenticationSessionProviderTest.java400 // Step 4: Run expiration again at the same time. Coarse is now corrected to theCOMMENT
LOW…oak/tests/model/AuthenticationSessionProviderTest.java413 // Step 5: At +135, threshold = T0+35 > timestamp T0+25. Truly expired. Deleted.COMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1051 // Step 1: Create a session at the current timeCOMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1060 // Step 2: Advance time to just before the next coarse boundary and refresh.COMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1080 // Step 3: Advance time so threshold falls between coarse and exact.COMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1090 // Step 4: Verify the session survived and its coarse value was advancedCOMMENT
LOW…/org/keycloak/tests/model/UserSessionProviderTest.java1101 // Step 5: Run expiration again at the same time — coarse is now above thresholdCOMMENT
LOW…/org/keycloak/tests/model/UserSessionProviderTest.java1116 // Step 6: Advance time far enough that lastSessionRefresh is truly expiredCOMMENT
LOW⚡…eycloak/tests/account/AccountRestServiceRolesTest.java223 // Step 1: GET login page, capture cookies from responseCOMMENT
LOW⚡…eycloak/tests/account/AccountRestServiceRolesTest.java228 // Step 2: Extract action URL and POST credentials with cookiesCOMMENT
LOW…eycloak/tests/account/AccountRestServiceRolesTest.java248 // Step 3: Fetch account console HTML with session cookiesCOMMENT
8 more matches not shown…
Fake / Example Data101 hits · 114 pts
SeverityFileLineSnippetContext
LOW⚡…a/org/keycloak/models/utils/StripSecretsUtilsTest.java199 rep.getSmtpServer().put("from", "keycloak@example.org");CODE
LOW⚡…a/org/keycloak/models/utils/StripSecretsUtilsTest.java200 rep.getSmtpServer().put("replyTo", "noreply@example.org");CODE
LOW⚡…a/org/keycloak/models/utils/StripSecretsUtilsTest.java201 rep.getSmtpServer().put("envelopeFrom", "bounce@example.org");CODE
LOW⚡…a/org/keycloak/models/utils/StripSecretsUtilsTest.java266 assertEquals("keycloak@example.org", rep.getSmtpServer().get("from"));CODE
LOW⚡…a/org/keycloak/models/utils/StripSecretsUtilsTest.java267 assertEquals("noreply@example.org", rep.getSmtpServer().get("replyTo"));CODE
LOW⚡…a/org/keycloak/models/utils/StripSecretsUtilsTest.java268 assertEquals("bounce@example.org", rep.getSmtpServer().get("envelopeFrom"));CODE
LOW…rc/test/java/org/keycloak/tests/scim/tck/UserTest.java328 assertEquals("John Doe", actual.getName().getFormatted());CODE
LOWcore/src/test/resources/sdjwt/s3.3-holder-claims.json8 "street_address": "123 Main St",CODE
LOWcore/src/test/resources/sdjwt/s6.1-holder-claims.json9 "street_address": "123 Main St",CODE
LOW…src/test/java/org/keycloak/sdjwt/JsonClaimsetTest.java55 String expected_street_address_claim = "123 Main St";CODE
LOWjs/libs/keycloak-admin-client/README.md59 email: 'user@example.com',CODE
LOWjs/libs/keycloak-admin-client/test/realms.spec.ts430 user.email = "test@test.com";CODE
LOWjs/apps/admin-ui/test/clients/initial-access.spec.ts77 await searchItem(page, placeHolder, "John Doe");CODE
LOWjs/apps/admin-ui/test/clients/main.spec.ts115 await searchItem(page, placeHolder, "John Doe");CODE
LOW…pps/admin-ui/test/client-scope/oid4vci-mappers.spec.ts150 "user@example.com",CODE
LOWjs/apps/admin-ui/src/clients/ssf/tabs/SubjectsTab.tsx257 ? "user@example.com"CODE
LOWjs/apps/admin-ui/src/clients/ssf/tabs/EmitEventsTab.tsx135 // from "user@example.com" to "user-uuid" / "username" / "org-alias"COMMENT
LOWjs/apps/admin-ui/src/clients/ssf/tabs/EmitEventsTab.tsx414 ? "user@example.com"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json5 "description": "Lorem ipsum dolor sit amet",CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json5 "description": "Lorem ipsum dolor sit amet",CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json14 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json14 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json19 "description": "Lorem ipsum dolor sit"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json24 "description": "Lorem ipsum dolor sit, consecte"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json29 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json29 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json34 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json34 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json39 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json39 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json44 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json44 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json49 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json49 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json54 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json54 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json59 "description": "Lorem ipsum dolor sit "CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json64 "description": "Lorem ipsum dolor sit amet, consecte occaecat"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json64 "description": "Lorem ipsum dolor sit amet, consecte occaecat"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json69 "description": "Lorem ipsum dolor sit amet, consecte"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json69 "description": "Lorem ipsum dolor sit amet, consecte"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json74 "description": "Lorem ipsum dolor"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json79 "description": "Lorem ipsum dolor sit amet"CODE
LOW⚡…pps/admin-ui/src/realm-roles/__tests__/mock-roles.json79 "description": "Lorem ipsum dolor sit amet"CODE
LOW…s/admin-ui/src/realm-settings/themes/PreviewWindow.tsx41 Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…s/admin-ui/src/realm-settings/themes/PreviewWindow.tsx41 Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…cloak/testsuite/broker/KcOidcFirstBrokerLoginTest.java161 createUser(bc.providerRealmName(), username, BrokerTestConstants.USER_PASSWORD, firstname, lastname, "firstnamelCODE
LOW…cloak/testsuite/broker/KcOidcFirstBrokerLoginTest.java806 createUser(bc.providerRealmName(), expectedBrokeredUserName, BrokerTestConstants.USER_PASSWORD, "f", "l", "fl@exCODE
LOW…cloak/testsuite/broker/KcOidcFirstBrokerLoginTest.java833 createUser(bc.providerRealmName(), expectedBrokeredUserName, BrokerTestConstants.USER_PASSWORD, "f", "l", "fl@exCODE
LOW…testsuite/broker/KcSamlUsernameTemplateMapperTest.java124 updateAccountInformationPage.updateAccountInformation("valid-username", "user@example.com", "John", "Doe");CODE
LOW…k/testsuite/broker/KcSamlXPathAttributeMapperTest.java124 assertThat(user.getEmail(), equalTo("test@example.org"));CODE
LOW…st/java/org/keycloak/testsuite/forms/RegisterTest.java685 registerPage.openWithLoginHint("test@test.com");CODE
LOW…st/java/org/keycloak/testsuite/forms/RegisterTest.java687 assertEquals("test@test.com", registerPage.getEmail());CODE
LOW…cloak/testsuite/forms/RegisterWithUserProfileTest.java334 Assertions.assertEquals("Example.", driver.findElement(By.cssSelector("input#placeholderAttribute")).getAttributCODE
LOW…st/java/org/keycloak/testsuite/oidc/OIDCScopeTest.java232 Assertions.assertEquals("John Doe", idToken.getName());CODE
LOW…ite/federation/UserStorageGracefulDegradationTest.java89 localUser3.setEmail("admin@example.com");CODE
LOW…/federation/ldap/LDAPSearchForUsersPaginationTest.java220 ldapObject.setSingleAttribute("mail", "outsideuser@example.org");CODE
LOW…/test/java/org/keycloak/testsuite/client/CIBATest.java430 bindingMessage = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt CODE
LOW…/test/java/org/keycloak/testsuite/client/CIBATest.java430 bindingMessage = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt CODE
LOW…ycloak/testsuite/validation/BuiltinValidatorsTest.java174 Assertions.assertTrue(validator.validate("admin@example.org", "email").isValid());CODE
41 more matches not shown…
Verbosity Indicators58 hits · 106 pts
SeverityFileLineSnippetContext
LOW…/resource/schema/attribute/ComplexAttributeSetter.java48 // for now lists can only be of complex types, so we need to check if the return type is assignable COMMENT
LOW⚡…est/java/org/keycloak/testsuite/oauth/par/ParTest.java324 // Step 2: PAR request with some custom injected parametersCOMMENT
LOW…est/java/org/keycloak/testsuite/oauth/par/ParTest.java339 // Step 3: Attempt to exchange code for token with the "fake code" from PARCOMMENT
LOW…RequiredActionUpdateEmailTestWithVerificationTest.java571 // Step 1: Login and change email (triggers verification due to realm verification setting)COMMENT
LOW…RequiredActionUpdateEmailTestWithVerificationTest.java587 // Step 2: Logout and login again (should show pending verification message)COMMENT
LOW…RequiredActionUpdateEmailTestWithVerificationTest.java599 // Step 3: Complete verification to ensure cache is clearedCOMMENT
LOW⚡…keycloak/tests/oid4vc/OID4VCRefreshCredentialTest.java910 // Step 2: Exchange Token-A → Token-B (first refresh — should succeed)COMMENT
LOW⚡…keycloak/tests/oid4vc/OID4VCRefreshCredentialTest.java918 // Step 3: Replay Token-A — should be REJECTED because it was already consumedCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java472 // Step 1: Request token without authorization_details parameter (no scope needed)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java501 // Step 2: Request the actual credential using ONLY the identifier (no credential_configuration_id)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java537 // Step 3: Verify that the issued credential structure is validCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java555 // Step 1: Get pre-authorized code tokenCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java572 // Step 2: Verify token works at credential endpoint (should succeed)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java585 // Step 3: Verify token is rejected at Account REST API endpoint (uses BearerTokenAuthenticator)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java599 // Step 4: Verify token is rejected at Admin REST API endpoint (uses BearerTokenAuthenticator)COMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java637 // Step 1: Request token without authorization_details parameterCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java710 // Step 1: Request token with authorization details containing specific claimsCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java750 // Step 2: Request the actual credential using the identifier and config idCOMMENT
LOW…uth/OID4VCAuthorizationDetailsFlowPreAuthTestBase.java787 // Step 3: Verify that the issued credential contains the requested claims AND may contain additional claimsCOMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java166 // Step 1: First login with OID4VCI (should return authorization_details)COMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java171 // Step 2: Logout and clear cookies to isolate sessions strictlyCOMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java178 // Step 3: Second login - Regular SSO (should NOT return authorization_details)COMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java190 // Step 4: Second token must NOT have authorization_detailsCOMMENT
LOW⚡…d4vc/issuance/OID4VCAuthorizationCodeFlowTestBase.java194 // Step 5: Credential request with second token must failCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java114 // Step 2: Perform authorization with PARCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java122 // Step 3: Exchange authorization code for tokens (WITHOUT authorization_details in token request)COMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java130 // Step 4: Verify authorization_details is present in token responseCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java269 // Step 2: Perform authorization with PARCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java277 // Step 3: Exchange authorization code for tokensCOMMENT
LOW⚡…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java284 // Step 4: Verify authorization_details are derived from requested OID4VC scopeCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java84 // Step 1: Create PAR request with authorization_detailsCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java154 // Step 5: Request the actual credential using the identifierCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java170 // Step 1: Create PAR request with INVALID authorization_detailsCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java192 // Step 2: Perform authorization with PARCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java209 // Step 1: Create PAR request with authorization_detailsCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java240 // Step 2: Perform authorization with PARCOMMENT
LOW…ce/signing/OID4VCAuthorizationCodeFlowWithPARTest.java257 // Step 1: Create PAR request WITHOUT authorization_detailsCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java214 // Step 1: Interactive login to establish an SSO sessionCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java218 // Step 2: Push a new PAR requestCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java223 // Step 3: First use of request_uri with prompt=none — must succeed via silent authCOMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java232 // Step 4: Replay the same request_uri — must be rejected (PAR already consumed)COMMENT
LOW⚡…rc/test/java/org/keycloak/tests/oauth/par/ParTest.java236 // Step 5: Verify the code from the first (legitimate) use is still validCOMMENT
LOW⚡…oak/tests/model/AuthenticationSessionProviderTest.java357 // Step 1: Create session at base timeCOMMENT
LOW⚡…oak/tests/model/AuthenticationSessionProviderTest.java364 // Step 2: Refresh timestamp at +25 (middle of first 50-second coarse bucket).COMMENT
LOW…oak/tests/model/AuthenticationSessionProviderTest.java383 // Step 3: At +112, threshold = T0+12. coarse = T0 < T0+12 (candidate), butCOMMENT
LOW…oak/tests/model/AuthenticationSessionProviderTest.java400 // Step 4: Run expiration again at the same time. Coarse is now corrected to theCOMMENT
LOW…oak/tests/model/AuthenticationSessionProviderTest.java413 // Step 5: At +135, threshold = T0+35 > timestamp T0+25. Truly expired. Deleted.COMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1051 // Step 1: Create a session at the current timeCOMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1060 // Step 2: Advance time to just before the next coarse boundary and refresh.COMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1080 // Step 3: Advance time so threshold falls between coarse and exact.COMMENT
LOW⚡…/org/keycloak/tests/model/UserSessionProviderTest.java1090 // Step 4: Verify the session survived and its coarse value was advancedCOMMENT
LOW…/org/keycloak/tests/model/UserSessionProviderTest.java1101 // Step 5: Run expiration again at the same time — coarse is now above thresholdCOMMENT
LOW…/org/keycloak/tests/model/UserSessionProviderTest.java1116 // Step 6: Advance time far enough that lastSessionRefresh is truly expiredCOMMENT
LOW⚡…eycloak/tests/account/AccountRestServiceRolesTest.java223 // Step 1: GET login page, capture cookies from responseCOMMENT
LOW⚡…eycloak/tests/account/AccountRestServiceRolesTest.java228 // Step 2: Extract action URL and POST credentials with cookiesCOMMENT
LOW…eycloak/tests/account/AccountRestServiceRolesTest.java248 // Step 3: Fetch account console HTML with session cookiesCOMMENT
LOW⚡…va/org/keycloak/tests/login/LoginErrorMessageTest.java77 // Step 1: enter valid username on the username-only pageCOMMENT
LOW⚡…va/org/keycloak/tests/login/LoginErrorMessageTest.java83 // Step 2: UsernamePasswordForm renders with username hidden (user was pre-set).COMMENT
Over-Commented Block68 hits · 68 pts
SeverityFileLineSnippetContext
LOWquarkus/set-quarkus-version.sh1#!/usr/bin/env bashCOMMENT
LOW…rage/database/liquibase/QuarkusJpaUpdaterProvider.java241 // target database already has the table and the DDL would fail the script with "already exists".COMMENT
LOW…eycloak/quarkus/runtime/logging/KeycloakLogFilter.java161 // departure always leaves at least one live owner, so this is expected during rolling restarts.COMMENT
LOWjs/util/gh-dependabot-failure-stats.sh1#!/usr/bin/env bashCOMMENT
LOWjs/apps/account-ui/src/i18n-type.ts1// This type is aliased to any, so that we can find all the places where we use it.COMMENT
LOW…ycloak/client/registration/cli/commands/UpdateCmd.java121 }COMMENT
LOW…ycloak/client/registration/cli/commands/UpdateCmd.java141 //COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java141 * COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java181 // ----- Token Request -----COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java241 // - [2] attach dpop_jkt to Req Obj: YES (RSA)COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java261 // ----- PAR -----COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java321 // - [3] attach dpop_jkt to Form Param: YES (RSA)COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java361 public void testSuccess_Proof_ReqObj_QueryParam() throws Exception {COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java401 assertEquals(200, res.getStatusCode());COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java521 assertEquals("DPoP Proof public key thumbprint does not match dpop_jkt.", pResp.getErrorDescription());COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java561 assertEquals(200, res.getStatusCode());COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java601 dpopProofEncoded = generateSignedDPoPProof(UUID.randomUUID().toString(), HttpMethod.POST, oauth.getEndpoints().gCOMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java641COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java701 // Authz Endpoint:COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java741 // - [2] attach dpop_jkt to Req Obj: YES (RSA)COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java781 // PAR Endpoint:COMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java821 // - [1] attach DPoP Proof: NOCOMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java861 // - [2] attach dpop_jkt to Req Obj: NoCOMMENT
LOW…/org/keycloak/testsuite/oauth/par/ParWithDPoPTest.java901 // Authz Endpoint:COMMENT
LOW…eycloak/testsuite/forms/AuthenticatorSubflowsTest.java301//COMMENT
LOW…oak/testsuite/federation/ldap/LDAPGroupMapperTest.java1341 GroupModel defaultGroup11 = KeycloakModelUtils.findGroupByPath(session, appRealm, "/defaultGroup1/defaultGroCOMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java141// public void testDailyEviction() {COMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java161//COMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java181// testIsCached();COMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java201// });COMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java221// RoleModel hardcoded = realm.getRole("hardcoded-role");COMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java241// RealmModel realm = session.realms().getRealmByName("test");COMMENT
LOW…loak/testsuite/federation/storage/RoleStorageTest.java261// model.setCachePolicy(CacheableStorageProviderModel.CachePolicy.DEFAULT);COMMENT
LOW…oak/testsuite/federation/storage/GroupStorageTest.java141// model.setEvictionHour(eviction.get(HOUR_OF_DAY));COMMENT
LOW…oak/testsuite/federation/storage/GroupStorageTest.java161// RoleStorageProviderModel model = realm.getRoleStorageProviders().get(0);COMMENT
LOW…oak/testsuite/federation/storage/GroupStorageTest.java181//COMMENT
LOW…oak/testsuite/federation/storage/GroupStorageTest.java201// testNotCached();COMMENT
LOW…oak/testsuite/federation/storage/GroupStorageTest.java221// testingClient.server().run(session -> {COMMENT
LOW…oak/testsuite/federation/storage/GroupStorageTest.java241//COMMENT
LOW…/java/org/keycloak/testsuite/auth/page/AuthServer.java41 }COMMENT
LOW…/test/java/org/keycloak/tests/cli/admin/KcAdmTest.java101 Assertions.assertTrue(exe.stdoutLines().size() > 10, "help message returned");COMMENT
LOW…/transmitter/DefaultSsfTransmitterProviderFactory.java281 if (deliveredRetentionStr != null) {COMMENT
LOW…ransmitter/stream/StreamConfigInputRepresentation.java41 // Per SSF §8.1.1.1 these are transmitter-supplied — a spec-compliantCOMMENT
LOW…org/keycloak/ssf/transmitter/stream/StreamService.java161 // configuration the receiver actually supplied.COMMENT
LOW…org/keycloak/ssf/transmitter/stream/StreamService.java901 // If the merge flipped the delivery channel (e.g. PUSH → POLL),COMMENT
LOW…org/keycloak/ssf/transmitter/stream/StreamService.java1421 // transmit AND "will not hold any eventsCOMMENT
LOW…keycloak/ssf/transmitter/emit/EventEmitterService.java101 }COMMENT
LOW…keycloak/ssf/transmitter/emit/EventEmitterService.java161 "Stream has no delivery method configured — configure push or poll delivery for the stream first");COMMENT
LOW…keycloak/ssf/transmitter/emit/EventEmitterService.java201 if (complex.getTenant() != null && resolved.organization() == null) {COMMENT
LOW…keycloak/ssf/transmitter/emit/EventEmitterService.java221 // callers and the admin UI to render a translatedCOMMENT
LOW…ak/ssf/transmitter/event/SecurityEventTokenMapper.java461 // Resolved the way SsfTransmitterEventListener resolves it, from the adminCOMMENT
LOW…ak/ssf/transmitter/event/SecurityEventTokenMapper.java1061 // for the cases that must NOT map: access-token revocationCOMMENT
LOW…ssf/transmitter/event/SsfTransmitterEventListener.java101 // userId or an unresolvable user bypasses the pre-check andCOMMENT
LOW…ssf/transmitter/event/SsfTransmitterEventListener.java261 // attribute or an external policy) doesn't get redundantCOMMENT
LOW…f/transmitter/SsfTransmitterStreamManagementTests.java141 @InjectRunOnServerCOMMENT
LOW…f/transmitter/SsfTransmitterStreamManagementTests.java1441 // client (authResult.client()) and resource ownerCOMMENT
LOW…s/ssf/transmitter/SsfTransmitterEventEmitterTests.java161 // pipeline reads. Tests that exercise the 403 branches overrideCOMMENT
LOW…s/ssf/transmitter/SsfTransmitterEventEmitterTests.java1121 @TestCOMMENT
LOW…/org/keycloak/ssf/services/admin/SsfAdminResource.java1041 // same format the admin UI role picker produces: plainCOMMENT
LOW…/org/keycloak/ssf/services/admin/SsfAdminResource.java1081 // routes user subjects through the mapper (honoring theCOMMENT
8 more matches not shown…
Decorative Section Separators9 hits · 38 pts
SeverityFileLineSnippetContext
MEDIUM…va/org/keycloak/services/client/SimpleClientModel.java18 // ── Identity ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…va/org/keycloak/services/client/SimpleClientModel.java25 // ── Flags ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java39 // ── URLs ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java46 // ── Auth ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java54 // ── Attributes & flow overrides ───────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java58 // ── Scopes ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java63 // ── Protocol mappers ──────────────────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java66 // ── Registered nodes ──────────────────────────────────────────────────────COMMENT
MEDIUM⚡…va/org/keycloak/services/client/SimpleClientModel.java69 // ── Timestamps ────────────────────────────────────────────────────────────COMMENT
AI Slop Vocabulary8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUM…rg/keycloak/quarkus/runtime/cli/NonRunningPicocli.java15// TODO: could utilize CLIResultCOMMENT
MEDIUM…in/java/org/keycloak/testsuite/utils/tls/TLSUtils.java51 // Essentially, this is REQUEST CLIENT AUTH behavior. It doesn't fail if the client doesn't have a cert.COMMENT
MEDIUM…rg/keycloak/testsuite/forms/MultipleTabsLoginTest.java448 // seamless login in the second tab, user already authenticatedCOMMENT
MEDIUM…rg/keycloak/testsuite/forms/MultipleTabsLoginTest.java461 // seamless authentication in the first tabCOMMENT
MEDIUM…/test/java/org/keycloak/tests/admin/AdminRootTest.java48 // This might not be robust enough. If something made KC on a different port, this would fail.COMMENT
MEDIUM…c/main/java/org/keycloak/common/util/NetworkUtils.java52 // Definitely not an IPv6, return untouched input.COMMENT
MEDIUM…c/main/java/org/keycloak/common/util/NetworkUtils.java80 // Definitely not an IPv6, return untouched input.COMMENT
MEDIUM…cators/client/AttestationBasedClientAuthenticator.java500 // [TODO] The authorization server can utilize the jti value for replay attack detectionCOMMENT
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUM.github/codeql/codeql-config-javascript.yml2 # This file is invalid on purpose for testing. Exclude it to prevent an "Unexpected token" error in CodeQL being reporCOMMENT
MEDIUM.github/codeql/codeql-config-typescript.yml2 # This file is invalid on purpose for testing. Exclude it to prevent an "Unexpected token" error in CodeQL being reporCOMMENT
MEDIUM.github/scripts/aws/rds/aurora_create.sh20# Create the Aurora VPCCOMMENT
MEDIUM.github/scripts/aws/rds/aurora_create.sh31# Create the Aurora SubnetsCOMMENT
MEDIUM.github/scripts/aws/rds/aurora_create.sh68# Create an Aurora VPC Security GroupCOMMENT
MEDIUM.github/scripts/aws/rds/aurora_create.sh104# Create the Aurora DB cluster and instanceCOMMENT
MEDIUMoperator/scripts/prepare-olm-test.sh28# Create the test-catalogCOMMENT
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…/keycloak/tests/admin/cli/v2/KcAdmV2ClientCLITest.java0{ "protocol": "%s", "clientid": "different-client-id", "enabled": true }STRING
HIGH…dmin/client/v2/validation/PutClientValidationTest.java0{ "protocol": "%s", "clientid": "different-client-id", "enabled": true }STRING
HIGH…min/client/v2/validation/PostClientValidationTest.java0{ "protocol": "%s", "clientid": "different-client-id", "enabled": true }STRING
HIGH…client/v2/validation/AbstractClientValidationTest.java0{ "protocol": "%s", "clientid": "different-client-id", "enabled": true }STRING
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…s/clientpolicy/executor/RejectMayActClaimExecutor.java171 // the consent note keeps the parameter exactly as requested, so find the granted scope instead of rebuilding itCOMMENT
Slop Phrases3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…xecutor/SecureRedirectUrisEnforcerExecutorFactory.java140 "Don't forget to use escaping of special characters like dots as otherwise dot is interpreted as any chaCODE
LOW…ervices/resources/admin/RealmLocalizationResource.java203 // this fallback is no longer needed since the fix for #15845, don't forget to remove it from the APICOMMENT
LOW…ervices/resources/admin/RealmLocalizationResource.java203 // this fallback is no longer needed since the fix for #15845, don't forget to remove it from the APICOMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOW.github/actions/conditional/conditional.sh59 # Check if changed files matches regexCOMMENT
LOW…tions/testsuite-deprecation-check/deprecation-check.sh16 # Check if changed files matches regexCOMMENT