[6.2] Add SMTP OAuth2 mailer support in Global Configuration (Microsoft/Google/Custom) / Replacement for #47656 (correct head branch)#47669
Conversation
|
Please fill out the PR form correctly, especially the AI disclaimer. Also please format your text correctly. Right now the description is hardly readable. Why do you have custom routes for the different providers as legacy fallback, when they never existed in the first place? Your docblocks are incomplete. How do those callbacks against the admin com_config work, when the calling provider is not an authorised user? Seems to me as if that would fail. This needs at least documentation on how to use and test in this PR. |
Okay, done. Code changes will be pulled soon |
|
Addressed in latest commit; thread outdated. |
|
Added layout file for oauth2token field |
|
All review points addressed, CI green, ready for merge. |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Co-authored-by: Quy Ton <quy@nomonkeybiz.com>
8f96f5e to
0593f19
Compare
|
System tests failed broadly across unrelated areas (Cypress, 36/156). Re-running CI as likely infra/flaky failure. |
|
numerous codestyle issues with the xml have been marked as resolved but they have not been |
- Add missing language strings used by oauth2token layout and application.xml (BUTTON_CHECK, BUTTON_ISSUE, BUTTON_REISSUE, OAUTH2_TENANT_MODE_COMMON/TENANT) - Revert accidental re-sorting of existing language keys; restore deleted WEBSERVICES_CORS_OFF_* strings; all new OAuth2 keys inserted at correct alphabetical positions within upstream ordering - Fix XML closing > indentation on oauth2_provider, oauth2_tenant_mode and oauth2_smtp_secure fields (3 tabs to match surrounding code style) - Use Uri::base() instead of hardcoded Uri::root().'administrator/' in ConfigHelper::getOAuth2CallbackUrl() to support renamed admin directories - Remove unused $params variable in RequestController::oauth2auth() - Replace Factory::getApplication() with $this->app in oauth2callback() and remove now-unused Factory import
|
Fixed — added COM_CONFIG_MAIL_OAUTH2_BUTTON_CHECK, _BUTTON_ISSUE, _BUTTON_REISSUE, COM_CONFIG_OAUTH2_TENANT_MODE_COMMON and _TENANT. |
Fixed — the closing > on oauth2_provider, oauth2_tenant_mode and oauth2_smtp_secure fields now uses 3-tab indentation consistent with the surrounding code. |
|
@Hackwar @brianteeman All review findings have been addressed in the latest commits. Could you please take another look? Summary of changes since last review: Added missing language strings (BUTTON_CHECK, BUTTON_ISSUE, BUTTON_REISSUE, OAUTH2_TENANT_MODE_COMMON/TENANT) |


Summary of Changes
This PR adds SMTP OAuth2 support in Global Configuration for outgoing mail on
6.2-dev.Implemented changes:
smtpoauth2com_configcommonand tenant-specificImportant Clarification (Review Feedback)
The previous provider-specific legacy wrappers (
m365auth,m365callback,m365checktoken) were removed/adjusted because there was no real historical route contract to preserve in core.Security / Callback Flow Notes
com_config).com_config.oauth2_state) usinghash_equals.core.admincheck) before writing config.Testing Instructions
smtpoauth2.Expected Result
Actual Result
Documentation Changes
This PR description now documents:
AI Disclosure
AI assistance was used to help draft/refine parts of implementation and PR text.
All code, behavior, and security assumptions were manually reviewed and tested by the author before submission.