Подтвердить что ты не робот

Странный url добавлен "# _ = _"

Возможный дубликат:
Play Framework appending # = перенаправить после авторизации Facebook через OAuth2?

Кто-нибудь еще видел это?

Я создаю приложение для холста Facebook, используя PHP PHP SDK и некоторые Javascript.
Теперь, когда я беру пользователя через поток аутентификации OAuth, я заметил, что URL-адрес в браузере автоматически добавляется с помощью этого "#_=_", поэтому мой URL-адрес начинает выглядеть следующим образом:

http://apps.facebook.com/xxxxxxxxxxxx/#_=_

и когда я перенаправляюсь на страницу профиля приложения, это URL-адрес:

http://www.facebook.com/apps/application.php?id=xxxxxxxxxxxx#_=_

Я перенаправляю с помощью

echo "<script type='text/javascript'>top.location.href='$appcanvasurl';</script>"

на URL холста и

echo "<script type='text/javascript'>top.location.href='$appprofurl';</script>"

для страницы профиля приложения.

Итак, почему добавляется этот #_=_?

Update:

В соответствии с эта ошибка на трекере, это по дизайну и дает значение для redirect_uri не меняет этого.

И в соответствии с официальным ответом на эту страницу (необходимо войти в систему Facebook для просмотра сообщение):

Это было отмечено как "по дизайну", поскольку оно предотвращает потенциальную уязвимость безопасности.

     

Некоторые браузеры добавят хэш-фрагмент из URL-адреса в конец нового URL-адреса, к которому они были перенаправлены (если этот новый URL-адрес сам не имеет хэш-фрагмента).

     

Например, если example1.com возвращает перенаправление на example2.com, тогда браузер, идущий в example1.com # abc, перейдет к example2.com # abc, а содержимое хеш-фрагмента из example1.com будет доступно для script на example2.com.

     

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

     

Это смягчается добавлением нового хэш-фрагмента к URL-адресу перенаправления, чтобы предотвратить это поведение браузера.

     

Если эстетика или поведение на стороне клиента результирующего URL-адреса вызывает беспокойство, можно было бы использовать window.location.hash(или даже перенаправление на стороне сервера), чтобы удалить оскорбительные символы.

4b9b3361

Ответ 1

См. это: https://developers.facebook.com/blog/post/552/

Изменение поведения переадресации сеанса

На этой неделе мы начали добавлять фрагмент #_=_ в redirect_uri когда это поле остается пустым. Убедитесь, что ваше приложение может обрабатывать это поведение.