0
0
Fork 0
mirror of https://github.com/go-gitea/gitea synced 2024-12-26 00:35:02 +01:00
gitea/routers/web
SteveTheEngineer 1e2c2edab6
Catch the error before the response is processed by goth. (#20000)
The code introduced by #18185 gets the error from response after it was processed by goth.

That is incorrect, as goth (and golang.org/x/oauth) doesn't really care about the error, and it sends a token request with an empty authorization code to the server anyway, which always results in a `oauth2: cannot fetch token: 400 Bad Request` error from goth.
It means that unless the "state" parameter is omitted from the error response (which is required to be present, according to [RFC 6749, Section 4.1.2.1](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1)) or the page is reloaded (makes the session invalid), a 500 Internal Server Error page will be displayed.
This fixes it by handling the error before the request is passed to goth.
2022-06-20 16:37:54 +01:00
..
admin
auth Catch the error before the response is processed by goth. (#20000) 2022-06-20 16:37:54 +01:00
dev
events
explore
feed
healthcheck
misc
org
repo
user
auth.go
auth_windows.go
base.go
goget.go
home.go
metrics.go
nodeinfo.go
swagger_json.go
web.go
webfinger.go