0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-23 15:53:07 -05:00
forgejo/modules
Martin Michaelis 55eb1745bd
OAuth2 auto-register (#5123)
* Refactored handleOAuth2SignIn in routers/user/auth.go

The function handleOAuth2SignIn was called twice but some code path could only
be reached by one of the invocations. Moved the unnecessary code path out of
handleOAuth2SignIn.


* Refactored user creation

There was common code to create a user and display the correct error message.
And after the creation the only user should be an admin and if enabled a
confirmation email should be sent. This common code is now abstracted into
two functions and a helper function to call both.

* Added auto-register for OAuth2 users

If enabled new OAuth2 users will be registered with their OAuth2 details.
The UserID, Name and Email fields from the gothUser are used.
Therefore the OpenID Connect provider needs additional scopes to return
the coresponding claims.

* Added error for missing fields in OAuth2 response

* Linking and auto linking on oauth2 registration

* Set default username source to nickname

* Add automatic oauth2 scopes for github and google

* Add hint to change the openid connect scopes if fields are missing

* Extend info about auto linking security risk

Co-authored-by: Viktor Kuzmin <kvaster@gmail.com>
Signed-off-by: Martin Michaelis <code@mgjm.de>
2021-04-14 14:02:12 +02:00
..
analyze Speed up enry.IsVendor (#15213) 2021-04-01 19:41:09 +02:00
auth OAuth2 auto-register (#5123) 2021-04-14 14:02:12 +02:00
avatar
base Add some Unit-Tests (#14500) 2021-01-28 19:08:11 +01:00
cache [Vendor] Update go-redis to v8.5.0 (#13749) 2021-02-10 21:28:32 +00:00
charset
context Turn RepoRef and RepoAssignment back into func(*Context) (#15372) 2021-04-09 20:26:08 -04:00
convert [API] pull notification subject status: add "merged" (#15344) 2021-04-09 03:36:23 +02:00
cron Cron job to cleanup hook_task table (#13080) 2021-01-26 22:02:42 +01:00
csv Add Tabular Diff for CSV files (#14661) 2021-03-29 22:44:28 +02:00
doctor Delete Labels & IssueLabels on Repo Delete too (#15039) 2021-03-19 21:01:24 +02:00
emoji Fix several render issues (#14986) 2021-03-16 00:20:05 +01:00
eventsource Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
generate
git use repo1_bare to test against (#15402) 2021-04-11 11:45:29 -04:00
gitgraph
graceful Fix regression from #14623 - use debug SVC handler only on interactive sessions (#15210) 2021-03-31 22:48:48 +03:00
hcaptcha
highlight
httpcache Add ETag header (#15370) 2021-04-12 10:49:26 -04:00
httplib Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
indexer Speed up enry.IsVendor (#15213) 2021-04-01 19:41:09 +02:00
lfs Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
log Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
markup Add NeedPostProcess for Parser interface to improve performance of csv render (#15153) 2021-04-13 15:06:31 +08:00
matchlist
metrics
migrations Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
nosql [Vendor] Update go-redis to v8.5.0 (#13749) 2021-02-10 21:28:32 +00:00
notification [refactor] mailer service (#15072) 2021-04-02 11:25:13 +01:00
options Add StatDir and replace com.StatDir (#14099) 2020-12-22 07:40:57 +08:00
password
pprof
private Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
process Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
public Add ETag header (#15370) 2021-04-12 10:49:26 -04:00
queue Always set the merge base used to merge the commit (#15352) 2021-04-10 09:27:29 +01:00
recaptcha Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
references Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
repofiles Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
repository Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
secret
session Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
setting OAuth2 auto-register (#5123) 2021-04-14 14:02:12 +02:00
ssh Make internal SSH server host key path configurable (#14918) 2021-03-08 03:43:59 +01:00
storage Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
structs Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
svg
sync
task Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
templates Prevent incorrect HTML escaping in swagger.json (#14957) 2021-03-11 23:43:04 -05:00
test Move middlewares to web/middleware (#14480) 2021-01-30 10:55:53 +02:00
timeutil Fix display since time round (#14226) 2021-01-28 13:29:22 +01:00
translation Use i18n.Reset to reload locales (#15073) 2021-03-21 16:11:36 +01:00
upload
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
util Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
validation Move macaron to chi (#14293) 2021-01-26 16:36:53 +01:00
web Fix bug in Wrap (#15302) 2021-04-06 17:40:56 +02:00