forgejo/routers/web/repo
KN4CK3R e8186f1c0f
Map OIDC groups to Orgs/Teams (#21441)
Fixes #19555

Test-Instructions:
https://github.com/go-gitea/gitea/pull/21441#issuecomment-1419438000

This PR implements the mapping of user groups provided by OIDC providers
to orgs teams in Gitea. The main part is a refactoring of the existing
LDAP code to make it usable from different providers.

Refactorings:
- Moved the router auth code from module to service because of import
cycles
- Changed some model methods to take a `Context` parameter
- Moved the mapping code from LDAP to a common location

I've tested it with Keycloak but other providers should work too. The
JSON mapping format is the same as for LDAP.


![grafik](https://user-images.githubusercontent.com/1666336/195634392-3fc540fc-b229-4649-99ac-91ae8e19df2d.png)

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-02-08 14:44:42 +08:00
..
actions Use relative url in actions view (#22675) 2023-01-31 22:46:10 +00:00
activity.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
attachment.go Add API management for issue/pull and comment attachments (#21783) 2022-12-09 14:35:56 +08:00
blame.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
branch.go Supports wildcard protected branch (#20825) 2023-01-16 16:00:22 +08:00
cherry_pick.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
commit.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
compare.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
download.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
editor.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
editor_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
find.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
http.go Refactor legacy strange git operations (#22756) 2023-02-06 10:23:17 +08:00
http_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue.go Show all projects, not just repo projects and open/closed projects (#22640) 2023-02-04 22:35:08 +08:00
issue_content_history.go Multiple improvements for comment edit diff (#21990) 2022-12-02 11:42:34 +02:00
issue_dependency.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_label.go Map OIDC groups to Orgs/Teams (#21441) 2023-02-08 14:44:42 +08:00
issue_label_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_lock.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_stopwatch.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_timetrack.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_watch.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
lfs.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
main_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
middlewares.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migrate.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
milestone.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
packages.go Use dynamic package type list (#22263) 2022-12-29 00:31:54 +01:00
patch.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
projects.go Support org/user level projects (#22235) 2023-01-20 19:42:33 +08:00
projects_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
pull.go Use link in UI which returned a relative url but not html_url which contains an absolute url (#21986) 2023-02-06 12:09:18 -06:00
pull_review.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
release.go Enable @<user>- completion popup on the release description textarea (#22359) 2023-02-01 13:14:40 -06:00
release_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
render.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo.go Use link in UI which returned a relative url but not html_url which contains an absolute url (#21986) 2023-02-06 12:09:18 -06:00
runners.go Implement actions (#21937) 2023-01-31 09:45:19 +08:00
search.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
setting.go Map OIDC groups to Orgs/Teams (#21441) 2023-02-08 14:44:42 +08:00
setting_protected_branch.go Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
setting_secrets.go Add user secrets (#22191) 2023-02-01 20:53:04 +08:00
settings_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
topic.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
treelist.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
view_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
webhook.go Support system hook API (#14537) 2023-01-28 19:12:10 +01:00
wiki.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
wiki_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00