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.
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
..
advanced Improve vfsgen to not unzip bindata files but send to browser directly (#7109) 4 years ago
developers Minimal OpenID Connect implementation (#14139) 4 years ago
features Reformat docs (#13897) 4 years ago
help Store repository data in data path if not previously set (#13991) 4 years ago
installation [Docs] Database preparation: Clarify why database client is installed on Gitea server (#12833) 4 years ago
upgrade Reformat docs (#13897) 4 years ago
usage CLI support for OAuth sources custom icons (#14166) 4 years ago
advanced.en-us.md Import docs into main repository (#2874) 7 years ago
advanced.fr-fr.md General documentation cleanup (#3317) 7 years ago
advanced.zh-cn.md Import docs into main repository (#2874) 7 years ago
developers.en-us.md Refactor docs (#13275) 4 years ago
features.en-us.md Import docs into main repository (#2874) 7 years ago
features.zh-cn.md Import docs into main repository (#2874) 7 years ago
features.zh-tw.md Import docs into main repository (#2874) 7 years ago
help.en-us.md Implement documentation search (#8937) 5 years ago
help.fr-fr.md Implement documentation search (#8937) 5 years ago
help.zh-cn.md Implement documentation search (#8937) 5 years ago
help.zh-tw.md Implement documentation search (#8937) 5 years ago
installation.en-us.md Import docs into main repository (#2874) 7 years ago
installation.fr-fr.md General documentation cleanup (#3317) 7 years ago
installation.zh-cn.md Import docs into main repository (#2874) 7 years ago
installation.zh-tw.md Import docs into main repository (#2874) 7 years ago
upgrade.en-us.md Import docs into main repository (#2874) 7 years ago
upgrade.fr-fr.md General documentation cleanup (#3317) 7 years ago
upgrade.zh-cn.md Import docs into main repository (#2874) 7 years ago
upgrade.zh-tw.md Import docs into main repository (#2874) 7 years ago
usage.en-us.md Import docs into main repository (#2874) 7 years ago
usage.zh-cn.md ZH-CN translation of Usage part (#5086) 6 years ago