forgejo/modules
Lunny Xiao ca67c5a8a7
refactor auth interface to return error when verify failure (#22119)
This PR changed the Auth interface signature from 
`Verify(http *http.Request, w http.ResponseWriter, store DataStore, sess
SessionStore) *user_model.User`
to 
`Verify(http *http.Request, w http.ResponseWriter, store DataStore, sess
SessionStore) (*user_model.User, error)`.

There is a new return argument `error` which means the verification
condition matched but verify process failed, we should stop the auth
process.

Before this PR, when return a `nil` user, we don't know the reason why
it returned `nil`. If the match condition is not satisfied or it
verified failure? For these two different results, we should have
different handler. If the match condition is not satisfied, we should
try next auth method and if there is no more auth method, it's an
anonymous user. If the condition matched but verify failed, the auth
process should be stop and return immediately.

This will fix #20563

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: Jason Song <i@wolfogre.com>
2022-12-28 13:53:28 +08:00
..
activitypub Remove deprecated packages & staticcheck fixes (#22012) 2022-12-02 17:06:23 -05:00
analyze Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
auth Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
avatar Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
base Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cache Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
charset Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) 2022-12-17 22:22:25 +02:00
container Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
context refactor auth interface to return error when verify failure (#22119) 2022-12-28 13:53:28 +08:00
convert Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
csv Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
doctor Add doctor command for full GC of LFS (#21978) 2022-12-15 20:44:16 +00:00
emoji Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
eventsource Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
generate Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git Use complete SHA to create and query commit status (#22244) 2022-12-27 21:12:49 +08:00
gitgraph Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
graceful Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hcaptcha Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
highlight Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hostmatcher Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
html Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
httpcache Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
httplib Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
indexer refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
issue/template Use path not filepath in template filenames (#21993) 2022-12-02 07:56:51 +08:00
json Update gitea-vet to check FSFE REUSE (#22004) 2022-12-02 22:14:57 +08:00
lfs Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
log Update go dev dependencies (#22064) 2022-12-08 16:21:37 +08:00
markup Remove deadcode (#22245) 2022-12-27 09:15:35 +08:00
mcaptcha Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
metrics Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migration Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
mirror Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
nosql Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notification Add API management for issue/pull and comment attachments (#21783) 2022-12-09 14:35:56 +08:00
options Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages Normalize NuGet package version on upload (#22186) 2022-12-20 22:20:23 -05:00
paginator Update gitea-vet to check FSFE REUSE (#22004) 2022-12-02 22:14:57 +08:00
password Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
pprof Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
private Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
process Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
proxy Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
proxyprotocol Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
public Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
queue Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
recaptcha Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
references Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
regexplru Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repository Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
secret Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
session Update gitea-vet to check FSFE REUSE (#22004) 2022-12-02 22:14:57 +08:00
setting Add option to prohibit fork if user reached maximum limit of repositories (#21848) 2022-12-27 15:21:14 -06:00
sitemap Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
ssh Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
storage Local storage should not store files as executable (#22162) 2022-12-19 08:50:36 +08:00
structs Add API management for issue/pull and comment attachments (#21783) 2022-12-09 14:35:56 +08:00
svg Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
sync Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
system Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
templates refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
test refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
timeutil Check for zero time instant in TimeStamp.IsZero() (#22171) 2022-12-20 10:04:55 +08:00
translation Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
typesniffer Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
updatechecker Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
upload Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
uri Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
user Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
util Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
validation Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
watcher Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
web refactor bind functions based on generics (#22055) 2022-12-12 16:09:26 +08:00