Proof Key for Code Exchange (PKCE) is a mechanism that makes use of OAuth 2.0 Authorization Code so users are not required to provide a client secret. PKCE reduces security risks for native apps, as embedded client secrets are not required in source code, which limits exposure to reverse engineering.