You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The PKCE flow according to [RFC
7636](https://datatracker.ietf.org/doc/html/rfc7636) allows for secure
authorization without the requirement to provide a client secret for the
OAuth app.
It is implemented in Gitea since #5378 (v1.8.0), however without being
able to omit client secret.
Since #21316 Gitea supports setting client type at OAuth app
registration.
As public clients are already forced to use PKCE since #21316, in this
PR the client secret check is being skipped if a public client is
detected. As Gitea seems to implement PKCE authorization correctly
according to the spec, this would allow for PKCE flow without providing
a client secret.
Also add some docs for it, please check language as I'm not a native
English speaker.
Closes#17107Closes#25047
According to OAuth spec https://datatracker.ietf.org/doc/html/rfc8252#section-8.5
but Gitea requires client secret in both authorization code flow and refresh flow regardless of client type
gitea/routers/web/auth/oauth.go
Line 756 in 7a58733
gitea/routers/web/auth/oauth.go
Line 698 in 7a58733
Fix would be to validate secret if and only if app.ConfidentialClient
The text was updated successfully, but these errors were encountered: