You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/modules
Denys Konovalov 63ab92d797
Pre-register OAuth2 applications for git credential helpers (#26291)
This PR is an extended implementation of #25189 and builds upon the
proposal by @hickford in #25653, utilizing some ideas proposed
internally by @wxiaoguang.

Mainly, this PR consists of a mechanism to pre-register OAuth2
applications on startup, which can be enabled or disabled by modifying
the `[oauth2].DEFAULT_APPLICATIONS` parameter in app.ini. The OAuth2
applications registered this way are being marked as "locked" and
neither be deleted nor edited over UI to prevent confusing/unexpected
behavior. Instead, they're being removed if no longer enabled in config.


![grafik](https://github.com/go-gitea/gitea/assets/47871822/81a78b1c-4b68-40a7-9e99-c272ebb8f62e)

The implemented mechanism can also be used to pre-register other OAuth2
applications in the future, if wanted.

Co-authored-by: hickford <mirth.hickford@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>

---------

Co-authored-by: M Hickford <mirth.hickford@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
12 months ago
..
actions Fix the bug when getting files changed for `pull_request_target` event (#26320) 12 months ago
activitypub Update tool dependencies, lock govulncheck and actionlint (#25655) 1 year ago
analyze Rename code_langauge.go to code_language.go (#26377) 12 months ago
assetfs Skip unuseful error message in dev mode when watching local filesystem (#25919) 1 year ago
auth Use a general approach to access custom/static/builtin assets (#24022) 1 year ago
avatar Remove nfnt/resize and oliamb/cutter (#25999) 1 year ago
base Replace `interface{}` with `any` (#25686) 1 year ago
cache improve unit test for caching (#26185) 1 year ago
charset Replace `interface{}` with `any` (#25686) 1 year ago
container Implement FSFE REUSE for golang files (#21840) 2 years ago
context Introduce ctx.PathParamRaw to avoid incorrect unescaping (#26392) 12 months ago
csv Refactor locale number (#24134) 1 year ago
doctor Upgrade go dependencies (#25819) 1 year ago
emoji Update emoji set to Unicode 15 (#25595) 1 year ago
eventsource Less naked returns (#25713) 1 year ago
generate Bump github.com/golang-jwt/jwt to v5 (#25975) 1 year ago
git Make git batch operations use parent context timeout instead of default timeout (#26325) 12 months ago
gitgraph Add context cache as a request level cache (#22294) 1 year ago
graceful Allow the use of alternative net.Listener implementations by downstreams (#25855) 1 year ago
hcaptcha Consume hcaptcha and pwn deps (#22610) 1 year ago
highlight Upgrade go dependencies (#25819) 1 year ago
hostmatcher Implement FSFE REUSE for golang files (#21840) 2 years ago
html Refactor backend SVG package and add tests (#26335) 12 months ago
httpcache Less naked returns (#25713) 1 year ago
httplib Less naked returns (#25713) 1 year ago
indexer Refactor and enhance issue indexer to support both searching, filtering and paging (#26012) 12 months ago
issue/template Replace `interface{}` with `any` (#25686) 1 year ago
json Replace `interface{}` with `any` (#25686) 1 year ago
label Make label templates have consistent behavior and priority (#23749) 1 year ago
lfs Rewrite logger system (#24726) 1 year ago
log Use stderr as fallback if the log file can't be opened (#26074) 1 year ago
markup Make `user-content-* ` consistent with github (#26388) 12 months ago
mcaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
metrics Use a separate admin page to show global stats, remove `actions` stat (#25062) 1 year ago
migration Replace `interface{}` with `any` (#25686) 1 year ago
mirror Improve queue and logger context (#24924) 1 year ago
nosql Update tool dependencies, lock govulncheck and actionlint (#25655) 1 year ago
notification Refactor and enhance issue indexer to support both searching, filtering and paging (#26012) 12 months ago
options Use a general approach to access custom/static/builtin assets (#24022) 1 year ago
packages Prevent newline errors with Debian packages (#26332) 12 months ago
paginator Use more specific test methods (#24265) 1 year ago
pprof Implement FSFE REUSE for golang files (#21840) 2 years ago
private Replace `interface{}` with `any` (#25686) 1 year ago
process Less naked returns (#25713) 1 year ago
proxy Use proxy for pull mirror (#22771) 1 year ago
proxyprotocol Implement FSFE REUSE for golang files (#21840) 2 years ago
public Serve pre-defined files in "public", add "security.txt", add CORS header for ".well-known" (#25974) 1 year ago
queue Calculate MAX_WORKERS default value by CPU number (#26177) 1 year ago
recaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
references Use correct captured group range when parsing cross-reference (#22672) 1 year ago
regexplru Upgrade go dependencies (#25819) 1 year ago
repository Refactor and enhance issue indexer to support both searching, filtering and paging (#26012) 12 months ago
secret Improve decryption failure message (#24573) 1 year ago
session Replace `interface{}` with `any` (#25686) 1 year ago
setting Pre-register OAuth2 applications for git credential helpers (#26291) 12 months ago
sitemap Fix sitemap (#22272) 2 years ago
ssh Refactor path & config system (#25330) 1 year ago
storage Replace `interface{}` with `any` (#25686) 1 year ago
structs Doc update swagger doc for POST /orgs/{org}/teams (#26155) 1 year ago
svg Refactor backend SVG package and add tests (#26335) 12 months ago
sync Implement FSFE REUSE for golang files (#21840) 2 years ago
system Implement FSFE REUSE for golang files (#21840) 2 years ago
templates Refactor "editorconfig" (#26391) 12 months ago
test Start using template context function (#26254) 12 months ago
testlogger Replace `interface{}` with `any` (#25686) 1 year ago
timeutil Fix incorrect webhook time and use relative-time to display it (#24477) 1 year ago
translation Replace `interface{}` with `any` (#25686) 1 year ago
turnstile Add new captcha: cloudflare turnstile (#22369) 1 year ago
typesniffer Do not recognize text files as audio (#23355) 1 year ago
updatechecker Implement FSFE REUSE for golang files (#21840) 2 years ago
upload Implement FSFE REUSE for golang files (#21840) 2 years ago
uri Implement FSFE REUSE for golang files (#21840) 2 years ago
user Implement FSFE REUSE for golang files (#21840) 2 years ago
util Less naked returns (#25713) 1 year ago
validation Replace `interface{}` with `any` (#25686) 1 year ago
web Fix incorrect router logger (#26137) 1 year ago
webhook New webhook trigger for receiving Pull Request review requests (#24481) 1 year ago