
CarloB.14829 (Customer) asked a question.
My PKCE flow works when i use a CLIENT_ID that is tied to a "SPA" type app, but fails when I use a CLIENT_ID that is tied to a "Web" type app. My web app is not "SPA" so want to avoid making my clients choose "SPA" just to make this work.

Hello @CarloB.14829 (Customer),
OAuth (and by extension OIDC) uses a number of defined Flows to manage the interactions between the Client App, the Authorization Server, and the Resource Server. The most secure of these is the Authorization Code Flow. This flow is meant to be kicked off from your browser.
Here are a couple of documents with a lot of information regarding how to make it work for the Web apps:
https://developer.okta.com/blog/2019/08/22/okta-authjs-pkcehttps://developer.okta.com/docs/guides/implement-grant-type/authcodepkce/main/
Hopefully, this will help you, additionally, inside those files, there are more links that explain the "Implicit flow", another way to achieve it, please notice that "Internet-Draft will expire on November 18, 2021."
Please let us know if this helps you.
Regards,
Natalia
Okta Inc