Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
Netcat 6: профессиональный конструктор сайтов Netcat 6

Не работает авторизация через fb

14.01.2019, 12:16
Gvenv_nk
Наталья Комарова
Gvenv_nk

Зарегистрирован:
2011-11-07
Сообщений: 36

Здравствуйте, всех с прошедшими!

Сайт https://neurodrama.ru
Пытаюсь прикрутить к форме авторизации кнопки "Авторизоваться в соцсетях". С контактами проблем нет, работают исправно.

С fb проблема: при клике на кнопку всплывает фейсбуковское окно авторизации, ввожу туда свои логин и пароль, и далее меня снова выкидывает в форму, т.е. ничего не происходит.

Модуль "Личный кабинет" настроен строго по документации неткэт.
На фейсбуке и в ЛК на вкладке "Авторизация через внешние сервисы" все проделано также по инструкции

В форме пишу:
Код:
<?php
echo "
<fb:login-button>Войти</fb:login-button>
<script type='text/javascript'>
window.fbAsyncInit = function() {
FB.init({ appId: ".$nc_auth_fb->get_app_id().", status: false, cookie: false, xfbml: true, oauth: true});
function updateButton(response) {
if (response.authResponse) {
location.href = '".$nc_core->SUB_FOLDER.$nc_core->HTTP_ROOT_PATH."modules/auth/?nc_fb=1&token='+response.authResponse.accessToken+'&REQUESTED_FROM=".htmlspecialchars($REQUEST_URI, ENT_QUOTES)."';
} else {
var button = document.getElementById('fb-auth');
button.onclick = function() {
FB.login(function(response) {
if (response.authResponse) {
location.href = '".$nc_core->SUB_FOLDER.$nc_core->HTTP_ROOT_PATH."modules/auth/?nc_fb=1&token='+response.authResponse.accessToken+'&REQUESTED_FROM=".htmlspecialchars($REQUEST_URI, ENT_QUOTES)."';
} else {
//error
}
}, {scope:'email'});
}
}
}
FB.Event.subscribe('auth.statusChange', updateButton);
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = \"//connect.facebook.net/ru_RU/all.js\";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>"; ?>


В основном макете:
Код:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = 'https://connect.facebook.net/ru_RU/sdk.js#xfbml=1&version=v3.2&appId=1977512265659052&autoLogAppEvents=1';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


понятно, что 1977512265659052 = id приложения на fb

Что делаю не так? Может, кто-то уже сталкивался с подобной проблемой?

Наталья Комарова
198 196 15046
Описание проекта