forgejo/routers
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
..
admin Move modules/forms to services/forms (#15305) 2021-04-06 20:44:05 +01:00
api/v1 add some reponse status on api docs (#15399) 2021-04-11 09:53:23 +01:00
dev [refactor] replace int with httpStatusCodes (#15282) 2021-04-05 11:30:52 -04:00
events Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
org Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
private [refactor] replace int with httpStatusCodes (#15282) 2021-04-05 11:30:52 -04:00
repo Add ETag header (#15370) 2021-04-12 10:49:26 -04:00
routes Turn RepoRef and RepoAssignment back into func(*Context) (#15372) 2021-04-09 20:26:08 -04:00
user OAuth2 auto-register (#5123) 2021-04-14 14:02:12 +02:00
utils Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL (#12999) 2021-02-19 22:36:43 +01:00
home.go [refactor] replace int with httpStatusCodes (#15282) 2021-04-05 11:30:52 -04:00
init.go Print usefull error if SQLite is used in settings but not supported (#14476) 2021-01-27 04:57:18 +01:00
install.go Move modules/forms to services/forms (#15305) 2021-04-06 20:44:05 +01:00
metrics.go Move metrics from macaron to chi (#13601) 2020-11-17 15:50:06 -05:00
swagger_json.go [refactor] replace int with httpStatusCodes (#15282) 2021-04-05 11:30:52 -04:00