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.
forgejo/models
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
..
fixtures Minimal OpenID Connect implementation (#14139) 4 years ago
migrations Minimal OpenID Connect implementation (#14139) 4 years ago
access.go Upgrade xorm to v1.0.0 (#10646) 4 years ago
access_test.go Fix "access" fixtures and tests (#10247) 4 years ago
action.go Team dashboards (#14159) 4 years ago
action_list.go refactor: reduce sql query in retrieveFeeds (#3547) 6 years ago
action_test.go Add gitea-vet (#10948) 4 years ago
admin.go Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 4 years ago
admin_test.go Fix tests code to prevent some runtime errors (#2381) 7 years ago
attachment.go [Refactor] Move APIFormat functions into convert package (#12856) 4 years ago
attachment_test.go Reading pull attachments should depend on read UnitTypePullRequests (#10346) 4 years ago
avatar.go Fix frontpage avatars (#13853) 4 years ago
avatar_test.go Direct avatar rendering (#13649) 4 years ago
branches.go migrate from com.* to alternatives (#14103) 4 years ago
branches_test.go Add deleted_branch table fixture (#2832) 7 years ago
commit_status.go Show dropdown with all statuses for commit (#13977) 4 years ago
commit_status_test.go Fix wrong hint when status checking is running on pull request view (#9886) 5 years ago
consistency.go Add migration to set IsArchived false if it is null (#11853) 4 years ago
context.go Upgrade xorm to v1.0.2 (#11900) 4 years ago
convert.go Whilst changing the character set to utf8mb4 we should set ROW_FORMAT=dynamic too (#12804) 4 years ago
error.go Add Allow-/Block-List for Migrate & Mirrors (#13610) 4 years ago
error_oauth2.go gofmt (#1662) 7 years ago
external_login_user.go Migrate reviews when migrating repository from github (#9463) 5 years ago
fixture_generation.go Move fixture generation to contrib and add test (#10277) 4 years ago
fixture_test.go Move fixture generation to contrib and add test (#10277) 4 years ago
gpg_key.go Add configurable Trust Models (#11712) 4 years ago
gpg_key_test.go Allow addition of gpg keyring with multiple keys (#12487) 4 years ago
helper.go Add reactions to issues/PR and comments (#2856) 7 years ago
helper_directory.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 4 years ago
helper_environment.go Set setting.AppURL as GITEA_ROOT_URL environment variable during pushes (#12752) 4 years ago
issue.go migrate from com.* to alternatives (#14103) 4 years ago
issue_assignees.go Remove Unused Functions (#10516) 4 years ago
issue_assignees_test.go Fix API Bug (fail on empty assignees) (#8873) 5 years ago
issue_comment.go migrate from com.* to alternatives (#14103) 4 years ago
issue_comment_list.go Fixed repo link in generated comment for cross repository dependency (#9863) 5 years ago
issue_comment_test.go Pull request review/approval and comment on code (#3748) 6 years ago
issue_dependency.go Display ui time with customize time location (#7792) 5 years ago
issue_dependency_test.go Refactor comment (#9330) 5 years ago
issue_label.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 4 years ago
issue_label_test.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 4 years ago
issue_list.go [BugFix] ReviewCount: GetApprovalCounts func sorted wrong (#11086) 4 years ago
issue_list_test.go Add Organization Wide Labels (#10814) 4 years ago
issue_lock.go remove unused method and rename createcommentWithNoAction (#9367) 5 years ago
issue_milestone.go Add Created & Updated to Milestone (#12662) 4 years ago
issue_milestone_test.go Add name filter to API for GetMilestoneList (#12336) 4 years ago
issue_reaction.go Include OriginalAuthor in Reaction constraint (#13505) 4 years ago
issue_reaction_test.go Migrate reactions when migrating repository from github (#9599) 5 years ago
issue_stopwatch.go Refactor: move Commit To APIFormat Code & Lot of StopWatch related things (#12729) 4 years ago
issue_stopwatch_test.go Add gitea-vet (#10948) 4 years ago
issue_test.go Add mentionable teams to tributeValues and change team mention rules to gh's style (#13198) 4 years ago
issue_tracked_time.go Fix tracked time issues (#11349) 4 years ago
issue_tracked_time_test.go [API] Extend times API (#9200) 5 years ago
issue_user.go Mail assignee when issue/pull request is assigned (#8546) 5 years ago
issue_user_test.go Add "Update Branch" button to Pull Requests (#9784) 5 years ago
issue_watch.go Add issue subscription check to API (#10967) 4 years ago
issue_watch_test.go API add/generalize pagination (#9452) 5 years ago
issue_xref.go migrate from com.* to alternatives (#14103) 4 years ago
issue_xref_test.go Refactor comment (#9330) 5 years ago
lfs.go LFS support to be stored on minio (#12518) 4 years ago
lfs_lock.go Move LFSLock APIFormat into convert package (#13808) 4 years ago
list_options.go Add cron running API (#12421) 4 years ago
log.go Refactor Logger (#13294) 4 years ago
login_source.go Custom icons for OAuth sources (#14161) 4 years ago
main_test.go Add gitea-vet (#10948) 4 years ago
migrate.go [BugFix] remove nil inserts in models (#11096) 4 years ago
models.go Add postgres schema to the search_path on database connection (#12634) 4 years ago
models_test.go gitea dump: include version & Check InstallLock (#12760) 4 years ago
notification.go move notification APIFormat (#13783) 4 years ago
notification_test.go add request review from specific reviewers feature in pull request (#10756) 4 years ago
oauth2.go Custom icons for OAuth sources (#14161) 4 years ago
oauth2_application.go Minimal OpenID Connect implementation (#14139) 4 years ago
oauth2_application_test.go Minimal OpenID Connect implementation (#14139) 4 years ago
org.go Team dashboards (#14159) 4 years ago
org_team.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 4 years ago
org_team_test.go API add/generalize pagination (#9452) 5 years ago
org_test.go Ensure DeleteUser is not allowed to Delete Orgs and visa versa (#10134) 4 years ago
project.go Kanban board (#8346) 4 years ago
project_board.go Kanban board (#8346) 4 years ago
project_issue.go Kanban board (#8346) 4 years ago
project_test.go Kanban board (#8346) 4 years ago
pull.go [Enhancement] Allow admin to merge pr with protected file changes (#12078) 4 years ago
pull_list.go API add/generalize pagination (#9452) 5 years ago
pull_sign.go Add configurable Trust Models (#11712) 4 years ago
pull_test.go Display pull request head branch even the branch deleted or repository deleted (#10413) 4 years ago
release.go Add the tag list page to the release page (#12096) 4 years ago
repo.go migrate from com.* to alternatives (#14103) 4 years ago
repo_activity.go Add top author stats to activity page (#9615) 5 years ago
repo_avatar.go Avatars and Repo avatars support storing in minio (#12516) 4 years ago
repo_branch.go Move newbranch to standalone package (#9627) 5 years ago
repo_collaboration.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 4 years ago
repo_collaboration_test.go API add/generalize pagination (#9452) 5 years ago
repo_generate.go Fix broken migration on webhook (#13911) 4 years ago
repo_generate_test.go Variable expansion in repository templates (#9163) 5 years ago
repo_indexer.go Index code and stats only for non-empty repositories (#10251) 4 years ago
repo_issue.go Add EnableTimetracking option to app settings (#3719) 6 years ago
repo_language_stats.go Increase size of the language column in language_stat (#12396) 4 years ago
repo_list.go Team dashboards (#14159) 4 years ago
repo_list_test.go [RFC] Make archival asynchronous (#11296) 4 years ago
repo_mirror.go Move some repository methods from models to modules/repository (#9353) 5 years ago
repo_permission.go ui: show 'owner' tag for real owner (#13689) 4 years ago
repo_permission_test.go fix bug when update owner team then visit team's repo return 404 (#6119) 5 years ago
repo_redirect.go Move repoWorkPool outside rename/transfer repository (#9086) 5 years ago
repo_redirect_test.go Move repoWorkPool outside rename/transfer repository (#9086) 5 years ago
repo_sign.go Add configurable Trust Models (#11712) 4 years ago
repo_test.go Add team support for review request (#12039) 4 years ago
repo_unit.go migrate from com.* to alternatives (#14103) 4 years ago
repo_watch.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 4 years ago
repo_watch_test.go API add/generalize pagination (#9452) 5 years ago
review.go Add review request api (#11355) 4 years ago
review_test.go Add team support for review request (#12039) 4 years ago
ssh_key.go Disable SSH key deletion of externally managed Keys (#13985) 4 years ago
ssh_key_test.go Disable DSA ssh keys by default (#13056) 4 years ago
star.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 4 years ago
star_test.go API add/generalize pagination (#9452) 5 years ago
task.go Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 4 years ago
test_fixtures.go upgrade to use testfixtures v3 (#11904) 4 years ago
token.go [API] Delete Token accept names too (#12366) 4 years ago
token_test.go [API] Delete Token accept names too (#12366) 4 years ago
topic.go Change topic name size from 25 to 50 (#14150) 4 years ago
topic_test.go API add/generalize pagination (#9452) 5 years ago
twofactor.go Attachments: Add extension support, allow all types for releases (#12465) 4 years ago
u2f.go Display ui time with customize time location (#7792) 5 years ago
u2f_test.go Add gitea-vet (#10948) 4 years ago
unit.go Kanban board (#8346) 4 years ago
unit_tests.go migrate from com.* to alternatives (#14103) 4 years ago
update.go Remove Unused Functions (#10516) 4 years ago
upload.go Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186) 4 years ago
user.go migrate from com.* to alternatives (#14103) 4 years ago
user_avatar.go Direct avatar rendering (#13649) 4 years ago
user_follow.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 4 years ago
user_follow_test.go Add gitea-vet (#10948) 4 years ago
user_heatmap.go Team dashboards (#14159) 4 years ago
user_heatmap_test.go rework heatmap permissions (#14080) 4 years ago
user_mail.go skip email validation on empty string (#13627) 4 years ago
user_mail_test.go Admin page for managing user e-mail activation (#10557) 4 years ago
user_openid.go Use ID or Where to instead directly use Get when load object from database (#11925) 4 years ago
user_openid_test.go Add golangci (#6418) 5 years ago
user_test.go Accept multiple SSH keys in single LDAP SSHPublicKey attribute (#13989) 4 years ago
userlist.go [Refactor] Move APIFormat functions into convert package (#12856) 4 years ago
userlist_test.go Team permission to create repository in organization (#8312) 5 years ago
webhook.go Fix bug for webhook and feishu caused by API changed (#13937) 4 years ago
webhook_test.go Move webhook type from int to string (#13664) 4 years ago
wiki.go Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186) 4 years ago
wiki_test.go Move wiki related funtions from models to services/wiki (#9355) 5 years ago