Description
The goal of PKCE is to provide an added level of security for OAuth 2.0 public clients (utilizing the Authorization Code Grant) from an authorization code interception attack.
However, based on OAuth 2.0 Security Best Current Practice, in section 2.1.1. Authorization Code Grant:
Note: although PKCE so far was recommended as a mechanism to protect
native apps, this advice applies to all kinds of OAuth clients,
including web applications.
It can also be leveraged for confidential clients for an added layer of security.
Given this, we should consider adding this support. From initial research, Okta does support this scenario where a confidential client is used to authenticate with the Token Endpoint and the code_verifier
is sent as a parameter.
We should conduct further research to see which other providers support this client configuration/registration.
See this comment for further details.
Related #6446