René's URL Explorer Experiment


Title: Add per-domain OAuth (Google, GitHub) provider support by Damans227 · Pull Request #12702 · apache/cloudstack · GitHub

Open Graph Title: Add per-domain OAuth (Google, GitHub) provider support by Damans227 · Pull Request #12702 · apache/cloudstack

X Title: Add per-domain OAuth (Google, GitHub) provider support by Damans227 · Pull Request #12702 · apache/cloudstack

Description: Description Add per-domain OAuth provider support. Allows OAuth providers (Google, GitHub) to be configured at the domain level with global fallback. Doc PR : apache/cloudstack-documentation#647 Design Doc https://cwiki.apache.org/confluence/display/CLOUDSTACK/Allow+OAuth+provider+per+domain Types of changes Breaking change (fix or feature that would cause existing functionality to change) New feature (non-breaking change which adds functionality) Bug fix (non-breaking change which fixes an issue) Enhancement (improves an existing feature and functionality) Cleanup (Code refactoring and cleanup, that may add test cases) Build/CI Test (unit or integration test code) Screenshots and recording Screen.Recording.2026-03-16.at.10.34.53.AM.mp4 Feature/Enhancement Scale or Bug Severity Feature/Enhancement Scale Major Minor How Has This Been Tested? Manual testing with GitHub OAuth provider configured at domain level and global level, verifying domain-specific lookup with global fallback.

Open Graph Description: Description Add per-domain OAuth provider support. Allows OAuth providers (Google, GitHub) to be configured at the domain level with global fallback. Doc PR : apache/cloudstack-documentation#647 De...

X Description: Description Add per-domain OAuth provider support. Allows OAuth providers (Google, GitHub) to be configured at the domain level with global fallback. Doc PR : apache/cloudstack-documentation#647 De...

Opengraph URL: https://github.com/apache/cloudstack/pull/12702

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:d89b5f72-6974-5cf9-9091-bff239a84775
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE17C:2A7A3D:DC04FB:128A1D5:6A4D809F
html-safe-noncea4aecc70e2da3d66eb82805cbc12ef2e3701e5952f83e2082010cddf0fa51a41
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMTdDOjJBN0EzRDpEQzA0RkI6MTI4QTFENTo2QTREODA5RiIsInZpc2l0b3JfaWQiOiIyNDgzMTE2MTYxNTEzMjI3ODQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac0b7f7e573f21be09e5b3cce23bc28b857d28dbf26fbc8ae2aadc583ae07c12a7
hovercard-subject-tagpull_request:3323181765
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/apache/cloudstack/pull/12702/files
twitter:imagehttps://avatars.githubusercontent.com/u/61474540?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/61474540?s=400&v=4
og:image:altDescription Add per-domain OAuth provider support. Allows OAuth providers (Google, GitHub) to be configured at the domain level with global fallback. Doc PR : apache/cloudstack-documentation#647 De...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonec6bf61c909482ec3072ef5d7a5a28f2a9d214788c9a44793eca1960048cb05ae
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/apache/cloudstack git https://github.com/apache/cloudstack.git
octolytics-dimension-user_id47359
octolytics-dimension-user_loginapache
octolytics-dimension-repository_id9759448
octolytics-dimension-repository_nwoapache/cloudstack
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id9759448
octolytics-dimension-repository_network_root_nwoapache/cloudstack
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6702a58b419a792226bd21ef0fb1bcb318bbcaa3
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/apache/cloudstack/pull/12702/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fapache%2Fcloudstack%2Fpull%2F12702%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fapache%2Fcloudstack%2Fpull%2F12702%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=apache%2Fcloudstack
Reloadhttps://github.com/apache/cloudstack/pull/12702/files
Reloadhttps://github.com/apache/cloudstack/pull/12702/files
Reloadhttps://github.com/apache/cloudstack/pull/12702/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
apache https://github.com/apache
cloudstackhttps://github.com/apache/cloudstack
Notifications https://github.com/login?return_to=%2Fapache%2Fcloudstack
Fork 1.3k https://github.com/login?return_to=%2Fapache%2Fcloudstack
Star 3k https://github.com/login?return_to=%2Fapache%2Fcloudstack
Code https://github.com/apache/cloudstack
Issues 536 https://github.com/apache/cloudstack/issues
Pull requests 268 https://github.com/apache/cloudstack/pulls
Discussions https://github.com/apache/cloudstack/discussions
Actions https://github.com/apache/cloudstack/actions
Projects https://github.com/apache/cloudstack/projects
Wiki https://github.com/apache/cloudstack/wiki
Security and quality 0 https://github.com/apache/cloudstack/security
Insights https://github.com/apache/cloudstack/pulse
Code https://github.com/apache/cloudstack
Issues https://github.com/apache/cloudstack/issues
Pull requests https://github.com/apache/cloudstack/pulls
Discussions https://github.com/apache/cloudstack/discussions
Actions https://github.com/apache/cloudstack/actions
Projects https://github.com/apache/cloudstack/projects
Wiki https://github.com/apache/cloudstack/wiki
Security and quality https://github.com/apache/cloudstack/security
Insights https://github.com/apache/cloudstack/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fapache%2Fcloudstack%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fapache%2Fcloudstack%2Fissues%2Fnew%2Fchoose
Damans227https://github.com/Damans227
apache:mainhttps://github.com/apache/cloudstack/tree/main
Damans227:oauth-per-domainhttps://github.com/Damans227/cloudstack/tree/oauth-per-domain
Conversation 137 https://github.com/apache/cloudstack/pull/12702
Commits 65 https://github.com/apache/cloudstack/pull/12702/commits
Checks 27 https://github.com/apache/cloudstack/pull/12702/checks
Files changed https://github.com/apache/cloudstack/pull/12702/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
Add per-domain OAuth (Google, GitHub) provider support https://github.com/apache/cloudstack/pull/12702/files#top
Show all changes 65 commits https://github.com/apache/cloudstack/pull/12702/files
dfc45c0 Add domain_id to oauth_provider table and VO Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/dfc45c0988419f0da39324ec7eb3edf03df2f847
fcb4778 Add domain-aware methods to OauthProviderDao Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/fcb47786ce2c36c35b06636f23bb0c2dfeca3a15
85c64e5 Add domainId parameter to OAuth provider API commands and response Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/85c64e5d90eafd5a1ed89028f32aa62cf0c06017
c46fb98 Add domain support to OAuth2AuthManager Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/c46fb9838579c04d7366f1f1d011f430c4e1666a
4ef100c Add domain-aware OAuth verification Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/4ef100c62a648b17a68bb37618b88dd40b60b1b6
8e48938 Add domain support to ListOAuthProvidersCmd and update related tests Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/8e48938370d0a333f5790796b2b6c4d8ef206c4e
9ab26db fix domain path issue Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/9ab26db5db12f0f955fbe1c6424bd081435ce09f
3e7fa92 Add domainId support to OAuth provider Dec 18, 2025 https://github.com/apache/cloudstack/pull/12702/commits/3e7fa92a7fef2f4e131d5df03d56c7c2815c90bc
4a6b28e Return domain name and UUID in OAuth provider API responses using Api… Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/4a6b28e33d7da02c63b471560a2fac5330a0171c
3ab3ca9 Refactor domain ID resolution in VerifyOAuthCodeAndGetUserCmd to impr… Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/3ab3ca92f144d34f20b5e84b2995e6280c37ec69
bb6f137 Enhance OAuth2 plugin support for domain-level configuration and auth… Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/bb6f137347106fd06367d9c66e254065d712a16b
764495b Update OAuth2 tests and VerifyOAuthCodeAndGetUserCmdTest Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/764495b9d6f762b9d8be3bf5c1d01ba0c984ce43
0ec6bcc Add method to find OAuth provider by domain with global fallback Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/0ec6bcc4a11e271f70b0e42ee22b6733aceed769
9609ef0 Update OAuth provider configuration to use 'domain' instead of 'domai… Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/9609ef095fa701896d5aec296c874976c6363153
65ccef1 Refactor OAuth provider methods to support domain-level queries and e… Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/65ccef178cf70ebebb150e0618ce06f448cdff14
e3da679 Add caching for access token retrieval in GithubOAuth2Provider Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/e3da6795e49b27d6f60414563e022dca6a2886c2
0e32a60 Refactor access token checks in GithubOAuth2Provider to use StringUti… Damans227 Feb 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/0e32a60ef0aa7cec86e74410fd2976e797c1d2a0
23c4132 Refactor null checks to use utility for improved readability and cons… Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/23c41322c0ad30d04a5e5f35fcf8ae0dbbef18aa
1a23f3a Update OAuth2UserAuthenticatorTest to include domainId in user verifi… Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/1a23f3a9cd5212702ffc1e49bbd7863051b4ba5b
b8cf181 Merge branch 'main' into oauth-per-domain Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/b8cf181f4fd2e042690aec2617459a4d58149716
6d73964 Remove unnecessary blank line and unused imports in OAuth provider co… Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/6d73964178077887a68dbf89d455a1cb07ba7f1a
a428d1a Refactor and cleanup Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/a428d1a26bed488c4c7f963920384f8b8202da3e
b367434 Remove unnecessary blank lines Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/b3674345924bcb1cdbc587f0a85058aa3b7d0342
42a8651 Enhance RegisterOAuthProviderCmdTest with additional provider mock data Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/42a8651948374d58ab3ad2690f2628b61dd624ae
7a55ecb Remove startup gate from OAuth plugin initialization to support dynam… Damans227 Feb 25, 2026 https://github.com/apache/cloudstack/pull/12702/commits/7a55ecb48014b6593996f73beb5281f72da68d9e
57c837c Add strictScope to ConfigKey to disable global fallback for domain-sc… Damans227 Mar 3, 2026 https://github.com/apache/cloudstack/pull/12702/commits/57c837c4ec2d536cb7a52a3bb8890c28556e82b6
62d4fc3 Add domain-scoped provider filtering to listOauthProvider and central… Damans227 Mar 5, 2026 https://github.com/apache/cloudstack/pull/12702/commits/62d4fc39915118a7ba0d2022ea4d244cbe4eaa52
0bab9f6 Add External OAuth tab with domain-scoped provider selection to login… Damans227 Mar 5, 2026 https://github.com/apache/cloudstack/pull/12702/commits/0bab9f65d43b1fd52efc7cb190730ef602eeacde
94c9e4b code cleanup Damans227 Mar 5, 2026 https://github.com/apache/cloudstack/pull/12702/commits/94c9e4bc873c730b8a797375aecfee3afcc4ebb7
1a45270 test fix Damans227 Mar 5, 2026 https://github.com/apache/cloudstack/pull/12702/commits/1a4527061aa252b45cff1779f8cfda310900b5a8
24ca473 Handle login page provider visibility Damans227 Mar 6, 2026 https://github.com/apache/cloudstack/pull/12702/commits/24ca473bedf8874ab3129334e1a885226b9e1aa9
df0ff42 UI cleanup Damans227 Mar 6, 2026 https://github.com/apache/cloudstack/pull/12702/commits/df0ff426858a026d138127878aec8910b0f72a18
0f06f99 UI Cleanup Damans227 Mar 6, 2026 https://github.com/apache/cloudstack/pull/12702/commits/0f06f99b01b8f78024f1a833d9c9028ae1c47552
868b0f4 Keep text color consistent Damans227 Mar 6, 2026 https://github.com/apache/cloudstack/pull/12702/commits/868b0f47111cd8e3e4e1119566d304f2cd039f91
b4b7420 add unit tests Damans227 Mar 11, 2026 https://github.com/apache/cloudstack/pull/12702/commits/b4b7420935497ac0737429716d415fb07e381087
dc30f14 Add Multiple-domain OAuth tests Damans227 Mar 16, 2026 https://github.com/apache/cloudstack/pull/12702/commits/dc30f14d386fbc65634716bfd9c636c9723d98e5
2f9001b Refactor as per PR comments Damans227 Mar 27, 2026 https://github.com/apache/cloudstack/pull/12702/commits/2f9001bf2879727d2c829155fa50534b9c1184bd
2185237 Use idempotent DDL helpers for oauth_provider schema migration Damans227 Mar 27, 2026 https://github.com/apache/cloudstack/pull/12702/commits/2185237601cb7e210bc8b3221daf8b64a7ef41c2
2fe8d53 Use global config check for global providers and extract oauthEnabled… Damans227 Mar 27, 2026 https://github.com/apache/cloudstack/pull/12702/commits/2fe8d5396010f557cef856260e26f18fe21dc446
3b3288c Make strictScope return null when id is null Damans227 Mar 27, 2026 https://github.com/apache/cloudstack/pull/12702/commits/3b3288c06bd5e47a8df17e6c29972c16e92a0026
ac4a622 Rename verification methods to use 'verifySecretCodeAndFetchEmail' fo… Damans227 Apr 15, 2026 https://github.com/apache/cloudstack/pull/12702/commits/ac4a62277719cb15a1849669ab4c3db2b27e93fe
db7f290 Refactor domain handling in OAuth2AuthManagerImpl to use DomainServic… Damans227 Apr 15, 2026 https://github.com/apache/cloudstack/pull/12702/commits/db7f29014bcd4786c224f7c523ed2ea8401a7d44
1e99cce Enhance domain ID descriptions in OAuth command classes for clarity Damans227 Apr 27, 2026 https://github.com/apache/cloudstack/pull/12702/commits/1e99ccef988ea8246b9a1bbedef743b7ae7017e9
974aadc Add domain path handling to OAuth provider commands and improve descr… Damans227 Apr 27, 2026 https://github.com/apache/cloudstack/pull/12702/commits/974aadc3fd7895e9c935ed168b7d74d285144200
df8c869 Update domain path description in VerifyOAuthCodeAndGetUserCmd to cla… Damans227 Apr 28, 2026 https://github.com/apache/cloudstack/pull/12702/commits/df8c8698872b6ae72c9f7608eddc3111fd9b0c6a
911c794 Replace remove method with expunge in deleteOauthProvider and add cor… Damans227 May 5, 2026 https://github.com/apache/cloudstack/pull/12702/commits/911c7941937da551c14470fff0e3bef03499a176
23796d0 Add external login label to Login.vue and update i18n locale handling Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/23796d00a2f1f0275da12a8fb9840271f9fa27db
bd74b27 Fix stale value issue in updateConfiguration response handling in Con… Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/bd74b2741925a3af8c92fc6b4672fd9e523ae66c
4c38514 Enhance OAuth login error handling and add unit test for missing para… Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/4c3851488233beef29134952e5b223a754406668
96d4c69 Add validation to reject enabling OAuth provider when plugin is disab… Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/96d4c69e586fcc9b17c24a5837b1e126deba7315
16a15d3 Add domain reassignment support to UpdateOAuthProviderCmd and enhance… Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/16a15d3d568a612302313cec6694ec61fd0267aa
290d80a Add domain ID to OAuth provider arguments in config Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/290d80a6b10ac80158daffd3729166b3a4e57c8c
9ae9983 Fix condition for OAuth verification URL handling in router Damans227 May 14, 2026 https://github.com/apache/cloudstack/pull/12702/commits/9ae99832abddc6a633618d05761ff360529701c9
b6d9aa5 Add domain path to OauthProviderResponse and update UI config to disp… Damans227 May 15, 2026 https://github.com/apache/cloudstack/pull/12702/commits/b6d9aa51adb521686e6ad8e1827f50480283867e
4e3c8e9 Update config to remove 'secretkey' from columns and details Damans227 May 15, 2026 https://github.com/apache/cloudstack/pull/12702/commits/4e3c8e911835c9c8336e0ee340a0f1a5ef16c48f
3b2ef3f Add secretkey to details in config and display in DetailsTab Damans227 May 15, 2026 https://github.com/apache/cloudstack/pull/12702/commits/3b2ef3fa45593e863412a0460a5754271d1a993b
b056914 Implement normalization of ROOT domain to null for global OAuth provi… Damans227 May 15, 2026 https://github.com/apache/cloudstack/pull/12702/commits/b0569145cb44170d8dd8453e4aa73b4ab2d29ed8
01fb9a8 Refactor OAuth plugin domain scope handling to use a centralized meth… Damans227 May 19, 2026 https://github.com/apache/cloudstack/pull/12702/commits/01fb9a83f60359776e482cc8fdd6bb37418796e1
e4c3b3d Add strict scope handling to ConfigKey and update OAuth2AuthManager u… Damans227 May 20, 2026 https://github.com/apache/cloudstack/pull/12702/commits/e4c3b3d17be1639e31f58bb27e3a0ad64a665a13
785b888 Implement domain removal listener to clean up OAuth providers on doma… Damans227 Jun 12, 2026 https://github.com/apache/cloudstack/pull/12702/commits/785b8888becae7649fcfdec6ecafa2e29f472717
7d18998 Merge remote-tracking branch 'upstream/main' into oauth-per-domain Damans227 Jun 23, 2026 https://github.com/apache/cloudstack/pull/12702/commits/7d189988a418225f19b073e836042b2efff53361
c2ca9e6 Enhance OAuth tab icons with disabled state styling for better UX Damans227 Jun 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/c2ca9e6cfe6bfe81678d462b68f70427e6d42e98
d9748b0 Merge branch 'main' into oauth-per-domain Damans227 Jun 24, 2026 https://github.com/apache/cloudstack/pull/12702/commits/d9748b02e75fdc9c7d8a72c5c3031168d229ee95
18cf904 Add domain-specific provider prompt and update OAuth provider handling Damans227 Jul 2, 2026 https://github.com/apache/cloudstack/pull/12702/commits/18cf904e29565b5479703f319dec02784869cda0
5696366 Merge branch 'main' into oauth-per-domain Damans227 Jul 2, 2026 https://github.com/apache/cloudstack/pull/12702/commits/5696366cdd683b4cf183f136da63f2755c4d5b1f
Clear filters https://github.com/apache/cloudstack/pull/12702/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
UserOAuth2Authenticator.java https://github.com/apache/cloudstack/pull/12702/files#diff-72a429d6b9ca3bdca24466d901473b277855d3d24b8b54ee0d86506780a44eb4
schema-42210to42300.sql https://github.com/apache/cloudstack/pull/12702/files#diff-c2a347e8868908a473213b79695fd81420bee5f97f09c1e1c0d488529e17c80e
ConfigKey.java https://github.com/apache/cloudstack/pull/12702/files#diff-b3c2568fa976b3d407d4a44c5e2d19fdd41e51a42d71f85110b5aa74441c39db
OAuth2AuthManager.java https://github.com/apache/cloudstack/pull/12702/files#diff-f6a29541dfd0ef4d6b37a5951159b3303d9ca7faf61bfb38190dfb4016225450
OAuth2AuthManagerImpl.java https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
OAuth2UserAuthenticator.java https://github.com/apache/cloudstack/pull/12702/files#diff-70facf2906337eb4323d2c7644c8f10391571c0982b2c2aa53bbf1146d755780
ListOAuthProvidersCmd.java https://github.com/apache/cloudstack/pull/12702/files#diff-77c0c3f3dae829952e0d0a52abbf5e1718f5689da328e6c93a7f8a51640269b1
OauthLoginAPIAuthenticatorCmd.java https://github.com/apache/cloudstack/pull/12702/files#diff-a173819e0abca84de2400016f1a42878699386c14e77516b46291fd194966903
RegisterOAuthProviderCmd.java https://github.com/apache/cloudstack/pull/12702/files#diff-b658d6ec8909a12827cbb9793dcb44781176388036a9728117d11a0ed58ff3a7
UpdateOAuthProviderCmd.java https://github.com/apache/cloudstack/pull/12702/files#diff-214c64fb19a2beae3667faefc9bd7115227f2afbb1f3be0cceb35a5ccaab7176
VerifyOAuthCodeAndGetUserCmd.java https://github.com/apache/cloudstack/pull/12702/files#diff-1ea5baf7ba68c59825a27a905f0eef1926011244a2d36e48046ca536a9835564
OauthProviderResponse.java https://github.com/apache/cloudstack/pull/12702/files#diff-6222619f876e164288d57cfba8e385297b439bf60c0291cb858bcfe3c796b501
OauthProviderDao.java https://github.com/apache/cloudstack/pull/12702/files#diff-a346a5cd8bf785ac9eab68901ada50dcc11de5acb38469b3548f308cd0768d8f
OauthProviderDaoImpl.java https://github.com/apache/cloudstack/pull/12702/files#diff-9e864950e88940f6e47b48ea3efb35d052d181c483e5797f7335e18429e5c3a3
GithubOAuth2Provider.java https://github.com/apache/cloudstack/pull/12702/files#diff-b3b4dd3109b8e6f814f62ed9c8b93353b1e27412d80f32546ee5a752908f95ef
GoogleOAuth2Provider.java https://github.com/apache/cloudstack/pull/12702/files#diff-28097df7db91ac62b6497045713297275605059c56086de7abc6168a7ef320a0
KeycloakOAuth2Provider.java https://github.com/apache/cloudstack/pull/12702/files#diff-87dbebdb75a5911b7c0a47c255d7ccf5674c4623427327231cb8f9fe651e06e9
OauthProviderVO.java https://github.com/apache/cloudstack/pull/12702/files#diff-5fde084a04df8303b09b6d115be1bdc18a4a6dc74340126c1b5062764cab82db
OAuth2AuthManagerImplTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-f9cd5af41962b07f6f01783bb799f1d782fd2b3a9bc1932da2d9cd6781319c09
OAuth2UserAuthenticatorTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-7fdff7f1277a8d2ded7aab24be336e866dd2023446de504334d6c9b1c6ab20c5
OauthLoginAPIAuthenticatorCmdTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-8799fbd8a6cd50666b294a0138db26e08de4394636a62c4071292b3850587060
RegisterOAuthProviderCmdTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-79b55860835761aa4b74332438053db857ca1eca5119528050d3b5578b9233f8
VerifyOAuthCodeAndGetUserCmdTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-5e6590aa52fec933d7d6f0428602de2d0c7c3a7c50ca2246ba23b7a7d251bc6d
GoogleOAuth2ProviderTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-2e2c005193758cd054c81b3d34d83b72be36a01b8694d5ea12ab5e6293f415ef
KeycloakOAuth2ProviderTest.java https://github.com/apache/cloudstack/pull/12702/files#diff-8acb5cd250d17fb35ec121bb91f9b415065dd755ab52ed6fbbcef85af80b0c06
ManagementServerImpl.java https://github.com/apache/cloudstack/pull/12702/files#diff-eb21dad2af4d6b0008ab4330419b8f156ac1d7176cf4ad55c246beb83296b79f
en.json https://github.com/apache/cloudstack/pull/12702/files#diff-e0d897aaa9e3c5cd68c9e9701dceb45e42ea9c096e93608b3bae32d741210f2e
DetailsTab.vue https://github.com/apache/cloudstack/pull/12702/files#diff-cac64cdfbb8c2eab2c4ee96b011c223b3b390d4a112c969bf8fd02732cd6f3bd
config.js https://github.com/apache/cloudstack/pull/12702/files#diff-e614e94ebcbf76d0865a147290519740beda834cbf53c96381a9dbfe489fed36
index.js https://github.com/apache/cloudstack/pull/12702/files#diff-a47bb7fc6c64cf50195a44236e9e1610c543ec24bc888cd8ddc75b13e6019462
permission.js https://github.com/apache/cloudstack/pull/12702/files#diff-54d65f8d5d3306bece6cb1a2f67106114a6a73fe342d3a3ec47649f7a7563c0f
AutogenView.vue https://github.com/apache/cloudstack/pull/12702/files#diff-8f1fdb15406d1243c408950c964e7efc0b39d788d46fa96fe0a46489e9998075
Login.vue https://github.com/apache/cloudstack/pull/12702/files#diff-c2df1a9054cca311774ce0e7976994a632686a8b91f11aeccd807c3b60a73bc4
VerifyOauth.vue https://github.com/apache/cloudstack/pull/12702/files#diff-a55a96bc135edfb4aa1a6a067411f0d7fd706afc4c8e717b1d97db6b6c168f00
ConfigurationValue.vue https://github.com/apache/cloudstack/pull/12702/files#diff-b7e307613d6511f5ac8a97a7712345e68af9b45b5118490afdef3c841141eb08
api/src/main/java/org/apache/cloudstack/auth/UserOAuth2Authenticator.javahttps://github.com/apache/cloudstack/pull/12702/files#diff-72a429d6b9ca3bdca24466d901473b277855d3d24b8b54ee0d86506780a44eb4
View file https://github.com/apache/cloudstack/blob/5696366cdd683b4cf183f136da63f2755c4d5b1f/api/src/main/java/org/apache/cloudstack/auth/UserOAuth2Authenticator.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/12702/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/12702/files#diff-72a429d6b9ca3bdca24466d901473b277855d3d24b8b54ee0d86506780a44eb4
https://github.com/apache/cloudstack/pull/12702/files#diff-72a429d6b9ca3bdca24466d901473b277855d3d24b8b54ee0d86506780a44eb4
engine/schema/src/main/resources/META-INF/db/schema-42210to42300.sqlhttps://github.com/apache/cloudstack/pull/12702/files#diff-c2a347e8868908a473213b79695fd81420bee5f97f09c1e1c0d488529e17c80e
View file https://github.com/apache/cloudstack/blob/5696366cdd683b4cf183f136da63f2755c4d5b1f/engine/schema/src/main/resources/META-INF/db/schema-42210to42300.sql
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/12702/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/12702/files#diff-c2a347e8868908a473213b79695fd81420bee5f97f09c1e1c0d488529e17c80e
https://github.com/apache/cloudstack/pull/12702/files#diff-c2a347e8868908a473213b79695fd81420bee5f97f09c1e1c0d488529e17c80e
framework/config/src/main/java/org/apache/cloudstack/framework/config/ConfigKey.javahttps://github.com/apache/cloudstack/pull/12702/files#diff-b3c2568fa976b3d407d4a44c5e2d19fdd41e51a42d71f85110b5aa74441c39db
View file https://github.com/apache/cloudstack/blob/5696366cdd683b4cf183f136da63f2755c4d5b1f/framework/config/src/main/java/org/apache/cloudstack/framework/config/ConfigKey.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/12702/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/12702/files#diff-b3c2568fa976b3d407d4a44c5e2d19fdd41e51a42d71f85110b5aa74441c39db
https://github.com/apache/cloudstack/pull/12702/files#diff-b3c2568fa976b3d407d4a44c5e2d19fdd41e51a42d71f85110b5aa74441c39db
https://github.com/apache/cloudstack/pull/12702/files#diff-b3c2568fa976b3d407d4a44c5e2d19fdd41e51a42d71f85110b5aa74441c39db
https://github.com/apache/cloudstack/pull/12702/files#diff-b3c2568fa976b3d407d4a44c5e2d19fdd41e51a42d71f85110b5aa74441c39db
...r-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManager.javahttps://github.com/apache/cloudstack/pull/12702/files#diff-f6a29541dfd0ef4d6b37a5951159b3303d9ca7faf61bfb38190dfb4016225450
View file https://github.com/apache/cloudstack/blob/5696366cdd683b4cf183f136da63f2755c4d5b1f/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManager.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/12702/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/12702/files#diff-f6a29541dfd0ef4d6b37a5951159b3303d9ca7faf61bfb38190dfb4016225450
https://github.com/apache/cloudstack/pull/12702/files#diff-f6a29541dfd0ef4d6b37a5951159b3303d9ca7faf61bfb38190dfb4016225450
https://github.com/apache/cloudstack/pull/12702/files#diff-f6a29541dfd0ef4d6b37a5951159b3303d9ca7faf61bfb38190dfb4016225450
...thenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.javahttps://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
View file https://github.com/apache/cloudstack/blob/5696366cdd683b4cf183f136da63f2755c4d5b1f/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/OAuth2AuthManagerImpl.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/12702/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
Copilothttps://github.com/apps/copilot-pull-request-reviewer
Mar 6, 2026https://github.com/apache/cloudstack/pull/12702/files#r2893693257
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
Copilothttps://docs.github.com/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-code-review
https://github.com/apache/cloudstack/pull/12702/files#diff-fa43abe25422ef9c80fcb251a36b762bd5a7de9e73799dbaa14991f7e3580073
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/12702/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.