User tests: Successful: Unsuccessful:
This PR adds SMTP OAuth2 support in Global Configuration for outgoing mail on 6.2-dev.
Implemented changes:
smtpoauth2com_configcommon and tenant-specificThe previous provider-specific legacy wrappers (m365auth, m365callback, m365checktoken) were removed/adjusted because there was no real historical route contract to preserve in core.
com_config).com_config.oauth2_state) using hash_equals.core.admin check) before writing config.smtpoauth2.This PR description now documents:
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.
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_config Language & Strings Libraries |
Please fill out the PR form correctly, especially the AI disclaimer. Also please format your text correctly. Right now the description is hardly readable.
Okay, done. Code changes will be pulled soon
| Labels |
Added:
Language Change
PR-6.2-dev
|
||
Addressed in latest commit; thread outdated.
| Category | Administration com_config Language & Strings Libraries | ⇒ | Administration com_config Language & Strings Layout Libraries |
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.
| Labels |
Added:
Conflicting Files
|
||
| Labels |
Removed:
Conflicting Files
|
||
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
Fixed — added COM_CONFIG_MAIL_OAUTH2_BUTTON_CHECK, _BUTTON_ISSUE, _BUTTON_REISSUE, COM_CONFIG_OAUTH2_TENANT_MODE_COMMON and _TENANT.
numerous codestyle issues with the xml have been marked as resolved but they have not been
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)
Reverted accidental re-sorting of existing language keys; restored accidentally deleted WEBSERVICES_CORS_OFF_* strings
Fixed XML closing > indentation (3 tabs) on the 3 new list fields
Replaced hardcoded Uri::root().'administrator/' with Uri::base() in ConfigHelper
Removed unused $params variable and replaced Factory::getApplication() with $this->app
All CI checks pass (Windows integration test flakiness re-triggered via empty commit)
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.