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>
2021-01-02 00:33:27 +08:00
..
analyze Exclude generated files from language statistics (#11653) 2020-05-29 09:20:01 +03:00
auth Minimal OpenID Connect implementation (#14139) 2021-01-02 00:33:27 +08:00
avatar Avatars and Repo avatars support storing in minio (#12516) 2020-10-14 21:07:51 +08:00
base migrate from com.* to alternatives (#14103) 2020-12-25 11:59:32 +02:00
cache Use native git variants by default with go-git variants as build tag (#13673) 2020-12-17 22:00:47 +08:00
charset Ensure that the detected charset order is set in chardet test (#12574) 2020-08-23 14:15:29 +01:00
context Inline manifest.json (#14038) 2020-12-22 19:13:50 +08:00
convert migrate from com.* to alternatives (#14103) 2020-12-25 11:59:32 +02:00
cron Added option to disable migrations (#13114) 2020-12-21 15:39:41 +01:00
doctor Refactor doctor (#12264) 2020-12-02 06:56:04 +02:00
emoji Fix emoji detection in certain cases (#12320) 2020-07-25 16:40:04 +03:00
eventsource Move EventSource to SharedWorker (#12095) 2020-07-03 10:55:36 +01:00
generate Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
git migrate from com.* to alternatives (#14103) 2020-12-25 11:59:32 +02:00
gitgraph [Refactor] CombinedStatus and CommitStatus related functions & structs (#14026) 2020-12-18 11:33:32 +08:00
graceful Move install pages out of main macaron routes (#13195) 2020-10-19 17:03:08 -04:00
hcaptcha hCaptcha Support (#12594) 2020-10-02 23:37:53 -04:00
highlight Use existing analyzer module for language detection for highlighting (#13522) 2020-11-13 16:13:41 -05:00
httpcache HTTP cache rework and enable caching for storage assets (#13569) 2020-11-17 17:44:52 -05:00
httplib Add golangci (#6418) 2019-06-12 15:41:28 -04:00
indexer Use native git variants by default with go-git variants as build tag (#13673) 2020-12-17 22:00:47 +08:00
lfs Move LFSLock APIFormat into convert package (#13808) 2020-12-03 16:05:48 +02:00
log Refactor Logger (#13294) 2020-10-31 01:36:46 -04:00
markup Fix bug of link query order on markdown render (#14156) 2020-12-29 00:28:27 +08:00
matchlist Add Allow-/Block-List for Migrate & Mirrors (#13610) 2020-11-28 19:37:58 -05:00
metrics Prometheus endpoint (#5256) 2018-11-04 22:20:00 -05:00
migrations Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 2020-12-27 11:34:19 +08:00
nosql Allow common redis and leveldb connections (#12385) 2020-09-28 00:09:46 +03:00
notification Cause NotifyMigrateRepository to emit a repo create webhook (#14004) 2020-12-17 13:26:22 +01:00
options Add StatDir and replace com.StatDir (#14099) 2020-12-22 07:40:57 +08:00
password Check passwords against HaveIBeenPwned (#12716) 2020-09-08 17:06:39 -05:00
pprof Add golangci (#6418) 2019-06-12 15:41:28 -04:00
private Fix send mail (#13312) 2020-10-26 12:42:27 -04:00
process Only write to global gitconfig if necessary (#11876) 2020-06-13 17:47:31 -04:00
public Improve vfsgen to not unzip bindata files but send to browser directly (#7109) 2020-12-24 12:25:17 +08:00
queue Slightly simplify the queue settings code to help reduce the risk of problems (#12976) 2020-10-15 17:40:03 -04:00
recaptcha hCaptcha Support (#12594) 2020-10-02 23:37:53 -04:00
references Add mentionable teams to tributeValues and change team mention rules to gh's style (#13198) 2020-12-21 16:39:28 +01:00
repofiles Standardize Co-Authored-By / Reviewed-By strings (#14097) 2020-12-21 21:19:33 -05:00
repository Check for 'main' as potential default branch name (#14193) 2020-12-30 15:46:26 +00:00
secret Attachments: Add extension support, allow all types for releases (#12465) 2020-10-05 01:49:33 -04:00
session Allow common redis and leveldb connections (#12385) 2020-09-28 00:09:46 +03:00
setting Fix manifest encoding (#14114) 2020-12-23 19:09:54 +00:00
ssh migrate from com.* to alternatives (#14103) 2020-12-25 11:59:32 +02:00
storage Fix Storage mapping (#13297) 2020-10-25 17:19:06 +00:00
structs Added option to disable migrations (#13114) 2020-12-21 15:39:41 +01:00
svg Fix filepath basename on Windows for SVG bindata (#12241) 2020-07-13 21:16:40 +01:00
sync Fix missing unlock in uniquequeue (#9790) 2020-01-15 23:58:33 +02:00
task Migrations: Use Process Manager to create own Context (#13792) 2020-12-02 18:36:06 +00:00
templates Improve label and text wrapping (#14113) 2020-12-29 18:48:28 -05:00
test Macaron 1.5 (#12596) 2020-08-27 22:47:17 -04:00
timeutil Fix timezone on issue deadline (#11697) 2020-06-05 18:51:10 -04:00
upload Update golangci-lint to version 1.31.0 (#13102) 2020-10-11 21:27:20 +01:00
uri Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 2020-12-27 11:34:19 +08:00
user Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
util migrate from com.* to alternatives (#14103) 2020-12-25 11:59:32 +02:00
validation [API] Get a single commit via Ref (#10915) 2020-04-07 22:54:46 -04:00