sfFacebookConnectPlugin: проблема аутентификации - PullRequest
0 голосов
/ 26 июня 2010

Я пытаюсь запустить sfFacebookConnectPlugin , следуя инструкции на домашней странице Symfony.

Все выглядит хорошо настроенным.Но когда я пытаюсь войти через sfFacebookConnectAuth / signin.Я получаю сообщение об ошибке " Неверное имя пользователя и / или пароль. ".

Я даже не знаю, с чего начать с отладки.

Первый шагможет быть, чтобы узнать правильные настройки приложения на стороне Facebook (например, URL-адрес обратного вызова после авторизации , URL-адрес подключения или URL-адрес обратного вызова Canvas )

Я использую доктрину Symfony 1.4.5 с sfGuardDoctrinePlugin (на живом хосте с поддоменом.)

Спасибо за вашу помощь.

Ответы [ 3 ]

1 голос
/ 05 июля 2010

Я нашел эту страницу: http://burgiblog.com/2009/09/18/developing-facebook-applications-with-symfony/ теперь она работает, после прочтения учебника я изменил три вещи:

  • modules / sfFacebookConnectAuth / config / security.yml: используйте «false»вместо «off»
  • я добавил «callback_url» в apps / frontend / config / app.yml
  • И я использовал действие facebook в уроке

Мне нужно выяснить, в чем именно проблема.И мне нужно улучшить некоторые вещи для плагина.Например, сохранение пользовательских данных в моем классе профиля и т. Д. (Теперь я сохраняю загадочное имя пользователя вместо правильного имени пользователя FB.)

0 голосов
/ 01 октября 2010

У меня проблемы с sfFacebookConnectPlugin.Я попытался воспроизвести простой пример из http://burgiblog.com/2009/09/18/developing-facebook-applications-with-symfony/.И, позвонив на страницу индекса, я перенаправлен на страницу аутентификации Facebook, но после входа в систему я не перенаправлен обратно.Я вхожу только в фейсбук.Что я делаю не так?

Спасибо.

Это мой код:

[/frontend/config/app.yml]

# default values
all:
  facebook:
    api_key: xxx
    api_secret: xxx
    api_id: xxx
    callback_url: 'http://localhost'
    redirect_after_connect: false
    redirect_after_connect_url: ''
    connect_signin_url: 'sfFacebookConnectAuth/signin'
    app_url: '/my-app'
    guard_adapter: ~
    js_framework: none # none, jQuery or prototype.

  # It is highly recommended to use a js framework if you want a correct experience in IE

  sf_guard_plugin:
    profile_class: sfGuardUserProfile
    profile_field_name: user_id
    profile_facebook_uid_name: facebook_uid # WARNING this column must be of type bigint ! 100000398093902 is a valid uid for example !
    profile_email_name: email
    profile_email_hash_name: email_hash

  facebook_connect:
    load_routing:     true
    user_permissions: []


[layout.php]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<?php use_helper('sfFacebookConnect') ?>
<?php include_http_metas() ?>
<?php include_metas() ?>
<?php include_title() ?>
<link rel="shortcut icon" href="/favicon.ico" />
</head>
<body>

<?php echo $sf_content ?>

<?php include_bottom_facebook_connect_script(); ?>

</body>
</html>



[actions.class.php]

<?php

/**
 * facebook actions.
 *
 * @package
 * @subpackage facebook
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12479 2008-10-31 10:54:40Z fabien $
 */
class homeActions extends sfActions
{
    /**
     * Executes index action
     *
     * @param sfRequest $request A request object
     */

    public function executeIndex(sfWebRequest $request)
    {
        sfFacebook::requireLogin();
        //get the user object
        $user = $this->getUser();

        // facebook user id
        $this->fb_uid = $user->getCurrentFacebookUid();
        // get or create user based on fb_uid
        $fb_user = sfFacebook::getOrCreateUserByFacebookUid($this->fb_uid);
    }
}



[indexSuccess.php]

<?php if ($sf_user->isFacebookConnected()): ?>

<fb:serverfbml style="width: 740px;">
    <script type="text/fbml">
        <fb:fbml>
            <fb:request-form target="_top" action="[where to redirect after invite]" method="post" type="[name of your app]" content="[text the user will receive]&lt;fb:req-choice url=&quot;http://apps.facebook.com/[your app]/&quot; label=&quot;Accept!&quot;  " image="" invite="true">
                <fb:multi-friend-selector cols="4" actiontext="[some text above the invite form]" />
            </fb:request-form>
        </fb:fbml>
    </script>
</fb:serverfbml>

<?php else: ?>
<p>Ooops?</p>
<br />
<?php endif; ?>
0 голосов
/ 27 июня 2010

На странице плагина сказано, что этот плагин поддерживается / стабилен только до Symfony 1.2.Возможно, имеет смысл напрямую написать автору плагина о совместимости 1.4.

...