Плагин CakePHP Facebook вошел как другой пользователь? - PullRequest
0 голосов
/ 06 мая 2011

Я испытываю очень странное поведение. Я создал свое приложение с помощью CakePHP и использую плагин Ника Бейкера для Facebook.

Когда я вхожу, все работает нормально. Когда кто-то еще входит, снова все работает нормально. Но если кто-то входит в систему в то же время, что и я, то для этого пользователя в Auth запоминается правильный идентификатор пользователя, но данные Facebook берутся из моего аккаунта.

Итак, если у меня есть идентификатор пользователя 1, а у Джона - идентификатор пользователя 2, и каждый из нас одновременно регистрируется в приложении, правильные идентификаторы сохраняются в компоненте аутентификации (1, соответственно, 2). Но если я захожу на страницу, на которой отображаются данные из соответствующего профиля, я вижу свою фотографию и свои данные в Facebook, но Джон также видит мою фотографию и мои данные вместо своей.

Почему это происходит? Мне действительно нужна помощь с этим, так как это за пределами моего понимания.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 04 февраля 2013

У меня похожая проблема, и я думаю, что это связано с сохранением access_token в пользовательском сеансе. Поскольку Facebook и мое приложение находятся в разных доменах, сеанс приложения не разрушается, когда пользователь выходит из Facebook. Я решил это временно, вызвав $this->Session->delete('FB'); в beforeFilter моего контроллера, например:

public function beforeFilter() {
    parent::beforeFilter();
    $this->Session->delete('FB');
}

Я думаю, что это делает запрос плагина новым access_token для каждого запроса, который не оптимален, но работает. Пожалуйста, поправьте меня, если я ошибаюсь.

0 голосов
/ 06 мая 2011

У вас включено кэширование?Веб-сервер может передать кэшированную версию страницы другому пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...