An AppAuth AuthorizationRequest.Builder explicitly disables PKCE with .setCodeVerifier(null).
Why AI tools produce this: AI coding tools rarely emit this on their own, but it still slips into assisted edits.
Why this matters
PKCE (RFC 7636) is what stops a malicious app that has registered the same redirect URI, or an attacker who intercepts the authorization code on a mobile device, from exchanging that code for tokens. Turning it off on a public Android client re-opens the authorization-code interception attack (CWE-345). AI samples pass null after seeing the "disable PKCE if the server does not support it" comment in the AppAuth docs.
Leave PKCE on: simply do not call setCodeVerifier, and AppAuth's Builder generates a code verifier automatically. Only pass an explicit verifier you generated yourself, never null.
Suppressing this rule
If a finding is a genuine false positive, scope the suppression to the exact line and leave a reason, never disable the rule project-wide. Disable directives are line-scoped by design.
// oauthlint-disable-next-line auth.kotlin.android.pkce-disabled -- <reason>