diff options
author | zeripath <art27@cantab.net> | 2021-11-03 00:33:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-03 08:33:54 +0800 |
commit | 9d855bd6a1da51a656bede3a855b2cecc6a22f28 (patch) | |
tree | ac34d3039edafd1c8d7814e3ede09f1e22372073 /routers/web/user | |
parent | 95da01c5cd946d6e6ba0b0110676d3df36ce85db (diff) | |
download | gitea-9d855bd6a1da51a656bede3a855b2cecc6a22f28.tar.gz gitea-9d855bd6a1da51a656bede3a855b2cecc6a22f28.zip |
Simplify Gothic to use our session store instead of creating a different store (#17507)
* Simplify Gothic to use our session store instead of creating a different store
We have been using xormstore to provide a separate session store for our OAuth2 logins
however, this relies on using gorilla context and some doubling of our session storing.
We can however, simplify and simply use our own chi-based session store. Thus removing
a cookie and some of the weirdness with missing contexts.
Signed-off-by: Andrew Thornton <art27@cantab.net>
* as per review
Signed-off-by: Andrew Thornton <art27@cantab.net>
* as per review
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Handle MaxTokenLength
Signed-off-by: Andrew Thornton <art27@cantab.net>
* oops
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'routers/web/user')
-rw-r--r-- | routers/web/user/auth.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/routers/web/user/auth.go b/routers/web/user/auth.go index 99885e5ce3..21d48e9834 100644 --- a/routers/web/user/auth.go +++ b/routers/web/user/auth.go @@ -789,7 +789,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *login.Source, u *models.Us func oAuth2UserLoginCallback(loginSource *login.Source, request *http.Request, response http.ResponseWriter) (*models.User, goth.User, error) { gothUser, err := loginSource.Cfg.(*oauth2.Source).Callback(request, response) if err != nil { - if err.Error() == "securecookie: the value is too long" { + if err.Error() == "securecookie: the value is too long" || strings.Contains(err.Error(), "Data too long") { log.Error("OAuth2 Provider %s returned too long a token. Current max: %d. Either increase the [OAuth2] MAX_TOKEN_LENGTH or reduce the information returned from the OAuth2 provider", loginSource.Name, setting.OAuth2.MaxTokenLength) err = fmt.Errorf("OAuth2 Provider %s returned too long a token. Current max: %d. Either increase the [OAuth2] MAX_TOKEN_LENGTH or reduce the information returned from the OAuth2 provider", loginSource.Name, setting.OAuth2.MaxTokenLength) } |