#magento #google-signin
Вопрос:
Я пытаюсь реализовать вход в Google одним нажатием в проекте Magento 1, но я продолжаю получать некоторые ошибки на консоли, даже перед тем, как нажать на кнопку:
«Не удалось загрузить ресурс: сервер ответил со статусом 400 ()» и «[GSI_LOGGER]: Параметр client_id установлен неправильно».
Запрос кнопки возвращает код 400.
Я попробовал точно такой же код в другом проекте (с Laravel), и он отлично работает.
Вот xml-файл:
<customer_account_login>
<reference name="head">
<block type="core/text" name="google.oauth2">
<action method="setText">
<text>
<![CDATA[<script src="https://accounts.google.com/gsi/client" async defer></script>]]>
</text>
</action>
</block>
</reference>
<reference name="customer_form_login" >
<block type="pentagrama_googleoauth2/button" name="googleoauth2.button" template="pentagrama/googleoauth2/button.phtml" />
</reference>
</customer_account_login>
и блок phtml:
<?php
$_helper = $this->helper('pentagrama_googleoauth2');
$request = Mage::app()->getFrontController()->getRequest();
$moduleName = $request->getModuleName();
?>
<?php if($_helper->isGoogleOAuthEnabled()):?>
<div id="g_id_onload"
data-client_id="<?php echo Mage::getStoreConfig('pentagrama_googleoauth2/settings/clientid')?>"
data-login_uri="<?php echo Mage::getUrl('googleoauth2/', ["page" => $moduleName]); ?>"
data-auto_prompt="false"
style="max-width: 270px;"
>
</div>
<div class="g_id_signin"
data-type="standard"
data-size="large"
data-theme="outline"
data-text="sign_in_with"
data-shape="rectangular"
data-logo_alignment="right"
data-width="247"
style="max-width: 270px; margin-top: 10px;">
</div>
<?php endif;?>
Переменные PHP Magento загружаются нормально. Даже если я помещу данные-client_id и данные-login_uri непосредственно в строку, ошибка сохранится.
При нажатии открывается всплывающее окно и застревает на URL-адресе https://accounts.google.com/gsi/select с другим ответом на код 400
Аватар и имя Google не появятся на кнопке, если я войду в свою учетную запись Google.
Еще одна странная вещь заключается в том, что код работал в течение некоторого времени, а несколько недель назад внезапно просто остановился. Поэтому я думаю, может быть, это было обновление в файле google js? Но я не знаю… Любые идеи приветствуются.