forgejo/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.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
access_test.go Fix "access" fixtures and tests (#10247) 2020-02-15 12:29:06 +08:00
action.go Fix timezone bug when clicking heatmap (#15141) 2021-04-01 12:52:17 +02:00
action_list.go refactor: reduce sql query in retrieveFeeds (#3547) 2018-02-21 18:55:34 +08:00
action_test.go Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL (#12999) 2021-02-19 22:36:43 +01:00
admin.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
admin_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
attachment.go Add size to Save function (#15264) 2021-04-03 18:19:59 +02:00
attachment_test.go Implement delete release attachments and update release attachments' name (#14130) 2021-03-23 00:09:51 +08:00
avatar.go Fix frontpage avatars (#13853) 2020-12-09 01:12:15 +01:00
avatar_test.go Direct avatar rendering (#13649) 2020-12-03 19:46:11 +01:00
branches.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
branches_test.go Add deleted_branch table fixture (#2832) 2017-11-04 15:31:59 +02:00
commit_status.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
commit_status_test.go Fix bug about ListOptions and stars/watchers pagnation (#14556) 2021-02-04 11:23:46 -06:00
consistency.go Fix Migration 176 yet again (#15131) 2021-03-23 23:10:19 +00:00
context.go Upgrade xorm to v1.0.2 (#11900) 2020-06-15 16:46:01 -04:00
convert.go Whilst changing the character set to utf8mb4 we should set ROW_FORMAT=dynamic too (#12804) 2020-09-11 09:25:06 +01:00
error.go rsponse 404 when delete not exist email (#15383) 2021-04-10 07:12:38 +01:00
error_oauth2.go gofmt (#1662) 2017-05-04 13:54:56 +08: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 Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
gpg_key.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
gpg_key_test.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
helper_directory.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
helper_environment.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
issue_assignees.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_assignees_test.go Fix API Bug (fail on empty assignees) (#8873) 2019-11-10 16:07:21 +08:00
issue_comment.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 Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
issue_dependency.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_dependency_test.go Refactor comment (#9330) 2019-12-15 16:57:34 -05:00
issue_label.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
issue_label_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_list.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_list_test.go Add Organization Wide Labels (#10814) 2020-04-01 01:14:46 -03:00
issue_lock.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_milestone.go Add dashboard milestone search and repo milestone search by name (#14866) 2021-04-08 13:53:59 +02:00
issue_milestone_test.go Add name filter to API for GetMilestoneList (#12336) 2020-07-28 12:30:40 +01:00
issue_reaction.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_reaction_test.go Migrate reactions when migrating repository from github (#9599) 2020-01-15 12:14:07 +01:00
issue_stopwatch.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_stopwatch_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
issue_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_tracked_time_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_user.go Mail assignee when issue/pull request is assigned (#8546) 2019-10-25 22:46:37 +08:00
issue_user_test.go Add "Update Branch" button to Pull Requests (#9784) 2020-01-17 08:03:40 +02:00
issue_watch.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_xref.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
issue_xref_test.go Refactor comment (#9330) 2019-12-15 16:57:34 -05:00
lfs.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
lfs_lock.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01: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 Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
migrate.go Fix delete nonexist oauth application 500 and prevent deadlock (#15384) 2021-04-10 16:49:10 -04:00
models.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
models_test.go gitea dump: include version & Check InstallLock (#12760) 2020-09-07 23:27:17 +01:00
notification.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
notification_test.go add request review from specific reviewers feature in pull request (#10756) 2020-04-06 19:33:34 +03:00
oauth2.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
oauth2_application.go Fix delete nonexist oauth application 500 and prevent deadlock (#15384) 2021-04-10 16:49:10 -04:00
oauth2_application_test.go Minimal OpenID Connect implementation (#14139) 2021-01-02 00:33:27 +08:00
org.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_team_test.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
project.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
pull.go Always set the merge base used to merge the commit (#15352) 2021-04-10 09:27:29 +01:00
pull_list.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
pull_sign.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
pull_test.go Display pull request head branch even the branch deleted or repository deleted (#10413) 2020-03-02 22:31:55 +00:00
release.go Implement delete release attachments and update release attachments' name (#14130) 2021-03-23 00:09:51 +08:00
repo.go Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
repo_activity.go Add top author stats to activity page (#9615) 2020-01-20 12:07:30 +02:00
repo_avatar.go Avatars and Repo avatars support storing in minio (#12516) 2020-10-14 21:07:51 +08:00
repo_branch.go Move newbranch to standalone package (#9627) 2020-01-14 11:38:04 +08:00
repo_collaboration.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
repo_collaboration_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_generate.go Fix broken migration on webhook (#13911) 2020-12-09 17:20:13 +00:00
repo_generate_test.go Variable expansion in repository templates (#9163) 2019-11-30 01:54:47 -05:00
repo_indexer.go Index code and stats only for non-empty repositories (#10251) 2020-02-14 13:42:30 +01:00
repo_issue.go Add EnableTimetracking option to app settings (#3719) 2018-04-09 23:15:32 +08:00
repo_language_stats.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_list_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo_mirror.go Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
repo_permission.go ui: show 'owner' tag for real owner (#13689) 2020-11-28 17:52:29 +02:00
repo_permission_test.go fix bug when update owner team then visit team's repo return 404 (#6119) 2019-02-22 11:14:45 -05:00
repo_redirect.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
repo_redirect_test.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
repo_sign.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
repo_test.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
repo_transfer.go Fix Migration 176 yet again (#15131) 2021-03-23 23:10:19 +00:00
repo_transfer_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo_unit.go Add DefaultMergeStyle option to repository (#14789) 2021-03-27 15:55:40 +01:00
repo_watch.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
repo_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
review.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
review_test.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.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
ssh_key_test.go Add support for ed25519_sk and ecdsa_sk SSH keys (#13462) 2021-01-20 20:36:55 +00:00
star.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
star_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05: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.go [API] Delete Token accept names too (#12366) 2020-08-28 11:09:33 +03:00
token_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
topic.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
topic_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
twofactor.go Attachments: Add extension support, allow all types for releases (#12465) 2020-10-05 01:49:33 -04:00
u2f.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
u2f_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
unit_tests.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
update.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
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.go Fix admin user list (#15358) 2021-04-09 10:16:10 +02: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.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
user_follow_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
user_heatmap.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
user_heatmap_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
user_mail.go rsponse 404 when delete not exist email (#15383) 2021-04-10 07:12:38 +01:00
user_mail_test.go Admin page for managing user e-mail activation (#10557) 2020-03-02 15:25:36 -03:00
user_openid.go Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
user_openid_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_redirect.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
user_redirect_test.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
userlist.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
userlist_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
webhook_test.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
wiki.go Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186) 2020-11-27 21:42:08 -05:00
wiki_test.go Move wiki related funtions from models to services/wiki (#9355) 2020-01-07 18:27:36 +00:00