0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-03-09 13:12:16 -05:00
forgejo/modules/context
Gusted 51988ef52b
[GITEA] rework long-term authentication
- The current architecture is inherently insecure, because you can
construct the 'secret' cookie value with values that are available in
the database. Thus provides zero protection when a database is
dumped/leaked.
- This patch implements a new architecture that's inspired from: [Paragonie Initiative](https://paragonie.com/blog/2015/04/secure-authentication-php-with-long-term-persistence#secure-remember-me-cookies).
- Integration testing is added to ensure the new mechanism works.
- Removes a setting, because it's not used anymore.

(cherry-pick from eff097448b)

Conflicts:

	modules/context/context_cookie.go
	trivial context conflicts

	routers/web/web.go
	ctx.GetSiteCookie(setting.CookieRememberName) moved from services/auth/middleware.go
2023-10-05 08:50:54 +02:00
..
access_log.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
api.go [BRANDING] X-Forgejo-OTP can be used instead of X-Gitea-OTP 2023-07-17 00:25:56 +02:00
api_forgejo_test.go [BRANDING] X-Forgejo-OTP can be used instead of X-Gitea-OTP 2023-07-17 00:25:56 +02:00
api_org.go
api_test.go
base.go Introduce ctx.PathParamRaw to avoid incorrect unescaping (#26392) (#26405) 2023-08-21 07:22:18 +02:00
captcha.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
context.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
context_cookie.go [GITEA] rework long-term authentication 2023-10-05 08:50:54 +02:00
context_model.go
context_request.go
context_response.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
context_test.go
csrf.go
org.go
package.go Revert package access change from #23879 (#25707) (#25785) 2023-07-09 21:00:42 +00:00
pagination.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
permission.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
private.go Replace interface{} with any (#25686) (#25687) 2023-07-04 23:41:32 -04:00
repo.go
response.go
utils.go Avoid double-unescaping of form value (#26853) (#26863) 2023-09-08 08:09:18 +02:00
xsrf.go
xsrf_test.go