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
Johnny Oskarsson a07e67d9cc
Minimal OpenID Connect implementation (#14139)
This is "minimal" in the sense that only the Authorization Code Flow
from OpenID Connect Core is implemented.  No discovery, no configuration
endpoint, and no user scope management.

OpenID Connect is an extension to the (already implemented) OAuth 2.0
protocol, and essentially an `id_token` JWT is added to the access token
endpoint response when using the Authorization Code Flow.  I also added
support for the "nonce" field since it is required to be used in the
id_token if the client decides to include it in its initial request.

In order to enable this extension an OAuth 2.0 scope containing
"openid" is needed. Other OAuth 2.0 requests should not be impacted by
this change.

This minimal implementation is enough to enable single sign-on (SSO)
for other sites, e.g. by using something like `mod_auth_openidc` to
only allow access to a CI server if a user has logged into Gitea.

Fixes: #1310

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: zeripath <art27@cantab.net>
4 years ago
..
analyze Exclude generated files from language statistics (#11653) 4 years ago
auth Minimal OpenID Connect implementation (#14139) 4 years ago
avatar Avatars and Repo avatars support storing in minio (#12516) 4 years ago
base migrate from com.* to alternatives (#14103) 4 years ago
cache Use native git variants by default with go-git variants as build tag (#13673) 4 years ago
charset Ensure that the detected charset order is set in chardet test (#12574) 4 years ago
context Inline manifest.json (#14038) 4 years ago
convert migrate from com.* to alternatives (#14103) 4 years ago
cron Added option to disable migrations (#13114) 4 years ago
doctor Refactor doctor (#12264) 4 years ago
emoji Fix emoji detection in certain cases (#12320) 4 years ago
eventsource Move EventSource to SharedWorker (#12095) 4 years ago
generate Add gitea-vet (#10948) 4 years ago
git migrate from com.* to alternatives (#14103) 4 years ago
gitgraph [Refactor] CombinedStatus and CommitStatus related functions & structs (#14026) 4 years ago
graceful Move install pages out of main macaron routes (#13195) 4 years ago
hcaptcha hCaptcha Support (#12594) 4 years ago
highlight Use existing analyzer module for language detection for highlighting (#13522) 4 years ago
httpcache HTTP cache rework and enable caching for storage assets (#13569) 4 years ago
httplib Add golangci (#6418) 5 years ago
indexer Use native git variants by default with go-git variants as build tag (#13673) 4 years ago
lfs Move LFSLock APIFormat into convert package (#13808) 4 years ago
log Refactor Logger (#13294) 4 years ago
markup Fix bug of link query order on markdown render (#14156) 4 years ago
matchlist Add Allow-/Block-List for Migrate & Mirrors (#13610) 4 years ago
metrics Prometheus endpoint (#5256) 6 years ago
migrations Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 4 years ago
nosql Allow common redis and leveldb connections (#12385) 4 years ago
notification Cause NotifyMigrateRepository to emit a repo create webhook (#14004) 4 years ago
options Add StatDir and replace com.StatDir (#14099) 4 years ago
password Check passwords against HaveIBeenPwned (#12716) 4 years ago
pprof Add golangci (#6418) 5 years ago
private Fix send mail (#13312) 4 years ago
process Only write to global gitconfig if necessary (#11876) 4 years ago
public Improve vfsgen to not unzip bindata files but send to browser directly (#7109) 4 years ago
queue Slightly simplify the queue settings code to help reduce the risk of problems (#12976) 4 years ago
recaptcha hCaptcha Support (#12594) 4 years ago
references Add mentionable teams to tributeValues and change team mention rules to gh's style (#13198) 4 years ago
repofiles Standardize Co-Authored-By / Reviewed-By strings (#14097) 4 years ago
repository Check for 'main' as potential default branch name (#14193) 4 years ago
secret Attachments: Add extension support, allow all types for releases (#12465) 4 years ago
session Allow common redis and leveldb connections (#12385) 4 years ago
setting Fix manifest encoding (#14114) 4 years ago
ssh migrate from com.* to alternatives (#14103) 4 years ago
storage Fix Storage mapping (#13297) 4 years ago
structs Added option to disable migrations (#13114) 4 years ago
svg Fix filepath basename on Windows for SVG bindata (#12241) 4 years ago
sync Fix missing unlock in uniquequeue (#9790) 5 years ago
task Migrations: Use Process Manager to create own Context (#13792) 4 years ago
templates Improve label and text wrapping (#14113) 4 years ago
test Macaron 1.5 (#12596) 4 years ago
timeutil Fix timezone on issue deadline (#11697) 4 years ago
upload Update golangci-lint to version 1.31.0 (#13102) 4 years ago
uri Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 4 years ago
user Add gitea-vet (#10948) 4 years ago
util migrate from com.* to alternatives (#14103) 4 years ago
validation [API] Get a single commit via Ref (#10915) 4 years ago