Как обслуживать OpenGraph для частной страницы

мы хотели бы внедрить OpenGraph в приложение интрасети, чтобы, когда люди делились URL-адресом из приложения в социальной сети (Yammer, Jive, Chatter...), он показывал красивый эскиз, описание и так далее.

Проблема: поскольку Yammer не подключен к интрасети, он следует перенаправлениям и предоставляет данные OpenGraph со страницы входа...

Есть ли способ вести себя правильно в таком случае?

Мы придумали 3 возможных решения:

  • Реализовать неизвестную, но, возможно, существующую часть протокола OpenGraph для обслуживания частных страниц, максимально игнорируя перенаправления.
  • Выполнение какой-либо маскировки — обнаружение агента Yammer или Chatter и обслуживание выделенной страницы
  • Хранение метаданных OpenGraph в каком-то сеансе и обслуживание их со страницы входа (где социальная сеть в конечном итоге заканчивается...)

Спасибо за ваш вклад, если вы тоже столкнулись с этой проблемой!


person Bertrand Gorge    schedule 16.05.2014    source источник


Ответы (1)


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

  • Если пользователь авторизован, он может видеть все данные со страницы yoursite.com/username/post123/ (как обычно),
  • Но если пользователь не авторизован (как и любой бот), он увидит форму входа (с миниатюрой и описанием в метатегах) по тому же адресу yoursite.com/username/post123/
  • Таким образом, все боты будут видеть правильные данные OG, и все пользователи смогут войти в систему как обычно.

(т.е. вы не должны перенаправлять незарегистрированных посетителей на страницу yoursite.com/loginpage. Вы должны показывать форму входа на всех таких страницах)

person Ilya    schedule 26.05.2014
comment
Мы попробуем это - это действительно, наверное, лучший вариант. Если бы мы могли избежать рефакторинга нашей страницы входа, было бы лучше, но это вариант. - person Bertrand Gorge; 26.05.2014