gitea/models
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
..
fixtures API: fix set milestone on PR creation (#14981) 2021-03-13 19:06:52 +01:00
migrations OAuth2 auto-register (#5123) 2021-04-14 14:02:12 +02:00
access_test.go
access.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
action_list.go
action_test.go Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL (#12999) 2021-02-19 22:36:43 +01:00
action.go Fix timezone bug when clicking heatmap (#15141) 2021-04-01 12:52:17 +02:00
admin_test.go
admin.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
attachment_test.go Implement delete release attachments and update release attachments' name (#14130) 2021-03-23 00:09:51 +08:00
attachment.go Add size to Save function (#15264) 2021-04-03 18:19:59 +02:00
avatar_test.go Direct avatar rendering (#13649) 2020-12-03 19:46:11 +01:00
avatar.go Fix frontpage avatars (#13853) 2020-12-09 01:12:15 +01:00
branches_test.go
branches.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
commit_status_test.go Fix bug about ListOptions and stars/watchers pagnation (#14556) 2021-02-04 11:23:46 -06:00
commit_status.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
consistency.go Fix Migration 176 yet again (#15131) 2021-03-23 23:10:19 +00:00
context.go
convert.go
error_oauth2.go
error.go rsponse 404 when delete not exist email (#15383) 2021-04-10 07:12:38 +01:00
external_login_user.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
fixture_generation.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
fixture_test.go
gpg_key_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
gpg_key.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
helper_directory.go
helper_environment.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
helper.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_assignees_test.go
issue_assignees.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_comment_list.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_comment_test.go
issue_comment.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_dependency_test.go
issue_dependency.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_label_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_label.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
issue_list_test.go
issue_list.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_lock.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_milestone_test.go
issue_milestone.go Add dashboard milestone search and repo milestone search by name (#14866) 2021-04-08 13:53:59 +02:00
issue_reaction_test.go
issue_reaction.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_stopwatch_test.go
issue_stopwatch.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_tracked_time_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_tracked_time.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_user_test.go
issue_user.go
issue_watch_test.go
issue_watch.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_xref_test.go
issue_xref.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
lfs_lock.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
lfs.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
list_options.go Fix bug about ListOptions and stars/watchers pagnation (#14556) 2021-02-04 11:23:46 -06:00
log.go Fix xorm log stack level (#15285) 2021-04-05 08:41:22 +01:00
login_source.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
main_test.go
migrate.go Fix delete nonexist oauth application 500 and prevent deadlock (#15384) 2021-04-10 16:49:10 -04:00
models_test.go
models.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
notification_test.go
notification.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
oauth2_application_test.go Minimal OpenID Connect implementation (#14139) 2021-01-02 00:33:27 +08:00
oauth2_application.go Fix delete nonexist oauth application 500 and prevent deadlock (#15384) 2021-04-10 16:49:10 -04:00
oauth2.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
org_team_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
org_team.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
org_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
org.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
project_board.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
project_issue.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
project_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
project.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
pull_list.go
pull_sign.go
pull_test.go
pull.go Always set the merge base used to merge the commit (#15352) 2021-04-10 09:27:29 +01:00
release.go Implement delete release attachments and update release attachments' name (#14130) 2021-03-23 00:09:51 +08:00
repo_activity.go
repo_avatar.go Avatars and Repo avatars support storing in minio (#12516) 2020-10-14 21:07:51 +08:00
repo_branch.go
repo_collaboration_test.go
repo_collaboration.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
repo_generate_test.go
repo_generate.go Fix broken migration on webhook (#13911) 2020-12-09 17:20:13 +00:00
repo_indexer.go
repo_issue.go
repo_language_stats.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo_list_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo_list.go Improve /api/v1/repos/issues/search by just getting repo ids (#15179) 2021-03-29 18:12:21 +01:00
repo_mirror.go Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
repo_permission_test.go
repo_permission.go ui: show 'owner' tag for real owner (#13689) 2020-11-28 17:52:29 +02:00
repo_redirect_test.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
repo_redirect.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
repo_sign.go
repo_test.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
repo_transfer_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo_transfer.go Fix Migration 176 yet again (#15131) 2021-03-23 23:10:19 +00:00
repo_unit.go Add DefaultMergeStyle option to repository (#14789) 2021-03-27 15:55:40 +01:00
repo_watch_test.go
repo_watch.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo.go Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
review_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
review.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
session.go Create DB session provider(based on xorm) (#13031) 2021-02-15 00:33:31 -05:00
sql_postgres_with_schema.go Ensure that schema search path is set with every connection on postgres (#14131) 2021-01-02 10:07:43 +08:00
ssh_key_test.go Add support for ed25519_sk and ecdsa_sk SSH keys (#13462) 2021-01-20 20:36:55 +00:00
ssh_key.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
star_test.go
star.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
task.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
test_fixtures.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
token_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
token.go
topic_test.go
topic.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
twofactor.go
u2f_test.go
u2f.go
unit_tests.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
unit.go
update.go
upload.go Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186) 2020-11-27 21:42:08 -05:00
user_avatar.go Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL (#12999) 2021-02-19 22:36:43 +01:00
user_follow_test.go
user_follow.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
user_heatmap_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
user_heatmap.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
user_mail_test.go
user_mail.go rsponse 404 when delete not exist email (#15383) 2021-04-10 07:12:38 +01:00
user_openid_test.go
user_openid.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
user_redirect_test.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
user_redirect.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
user_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
user.go Fix admin user list (#15358) 2021-04-09 10:16:10 +02:00
userlist_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
userlist.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
webhook_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
webhook.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
wiki_test.go
wiki.go Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186) 2020-11-27 21:42:08 -05:00