Refactor: Move CspNonceProvider to Model and deprecate old Helper class #40294
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This pull request refactors the
CspNonceProviderby moving the existing implementation from theHelpernamespace to theModelnamespace, following Magento architectural best practices.The original helper class is now deprecated and acts as a backward-compatible proxy, ensuring no breaking changes for third-party modules.
No functional behavior has been modified. CSP nonce generation and CSP header enrichment work exactly as before.
Related Issue
Fixes #40266
Problem
The class
Magento\Csp\Helper\CspNonceProvideris incorrectly located in aHelpernamespace while it functions as a service and not a view helper.This misalignment introduces architectural inconsistencies and may lead developers to misinterpret its intended usage.
Solution
Magento\Csp\Model\CspNonceProvider, which now contains the complete implementation.@deprecatedPHPDoc annotation (soft deprecation).Deprecation Notice
Magento\Csp\Helper\CspNonceProvideris now deprecated.Developers should migrate to
Magento\Csp\Model\CspNonceProvider.