Recaptcha v3 invisible does not display on authentication popup and when the login button is clicked it show the error - This is a required. See below.
When I looked at the browser console, I can see the below JS error
Uncaught TypeError: Unable to process binding "afterRender: function(){return renderReCaptcha() }" Message: Cannot read properties of undefined (reading 'rendering') at UiClass.initCaptcha (reCaptcha.js:116:35) at UiClass.renderReCaptcha
This shows that rendering option was not passed to the reCaptcha.js file. See below.
The error occurs here this.settings.rendering
since this.settings is undefine.
When I look at the authentication-popup.phtml
and print out the value of $block->getJsLayout()
, I could see that rendering is passed to Magento_Ui/js/core/app
"#authenticationPopup": {
"Magento_Ui/js/core/app": <?= /* @noEscape */ $block->getJsLayout() ?>
}
What I could not figure out is why the rendering disappears when reCaptcha.js is rendered which causes the error above.
I will appreciate any help in solving the issue.