Используя XFBML кнопка входа в систему просит, чтобы пользователь прошел проверку подлинности дважды

Я просто пытаюсь установить Подключение Facebook, чтобы позволить выбору на моем уже установленном сайте регистрироваться в форме регистрации или регистрироваться в Подключении Facebook (это действительно должно быть легче, чем это, устаревшие документы управляют мной безумный). Когда пользователь нажимает кнопку, она открывает всплывающее окно и просит позволять вещи, которые я спросил правильно. Однако, когда они нажимают Allow, он просит позволять снова (но просто основная информация о профиле). Это, очевидно, инициировано от действия по умолчанию нажатия на fb:login-кнопку, даже при том, что они уже вошли в систему и позволили приложению получать доступ к своим данным.

<fb:login-button size="medium" length="long" v="2" onclick="fb_login()"></fb:login-button>
<div id="fb-root"></div>
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script>
<script>
    FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true});

    function fb_login() {
        FB.login(function(response) {
            if (response.session) {
                if (response.perms) {
                    // they have allowed the app, continue with registration
                }
            }
        }, {perms:'email,user_birthday'});
    }
</script>
6
задан James Simpson 4 June 2010 в 19:33
поделиться

2 ответа

Очевидно, вы можете просто назначить разрешения в FBML и вообще обойти вызов FB.login. Было бы здорово, если бы Facebook упомянул об этом в своих документах (разглагольствовании).

<fb:login-button size="medium" length="long" v="2" perms="email,user_birthday" onlogin="fb_login()"></fb:login-button>
<div id="fb-root"></div>
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script>
<script>
    FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true});

    function fb_login() {
           // they have allowed the app, continue with registration
    }
</script>
8
ответ дан 16 December 2019 в 21:35
поделиться

Я почти уверен, что проблема заключается в назначении события «onclick» для fb: login-button , у которого уже есть собственное поведение по умолчанию. Просто откажитесь от этого тега кнопки входа и создайте свою собственную обычную кнопку html (ссылку, изображение или что угодно) с этим событием onclick.

0
ответ дан 16 December 2019 в 21:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: